web2py--------------用web2py写 django的例子 --------建立一个投票应用(2)

建立模型

web2py--------------用web2py写 django的例子 --------建立一个投票应用(2)

我们在models下及那里polls.py

文件内容如下

web2py--------------用web2py写 django的例子 --------建立一个投票应用(2)

 # -*- coding: utf-8 -*-
pollsdb=DAL(uri='sqlite://polls.db') pollsdb.define_table('Question',
Field('question_text','string',length=200),
Field('pub_date','datetime'),
format='%(question_text)s') pollsdb.define_table('Choice',
Field('question','reference Question',requires=IS_IN_DB(pollsdb,'Question.id',pollsdb.Question._format)),
Field('choice_text','string',length=200),
Field('votes','integer',default=0),
format='%(choice_text)s')

polls.py

详细大卖我写到 上边方便粘贴

解释一下,pollsdb 是数据库文件,使用官方的 DAL 这是一个独立插件,支持数据库很多,这里使用sqlite

建立两个数据表,Question 和 Choice 两个表

其中 Choice 的表有question 字段 是外键

我们可以登录 后台管理 看到

web2py--------------用web2py写 django的例子 --------建立一个投票应用(2)

输入 http://127.0.0.1/polls/appadmin/

输入管理密码

可以看到 我们建立的两个表,还有系统权限表,不过对这个应用目前没有关系

我们 可以为 Question 表添加新纪录

点击后边的 新纪录  按钮

web2py--------------用web2py写 django的例子 --------建立一个投票应用(2)

可以看到 在 datetime 数据是 web2py 为我们提供了 一个插件以供选择时间。

输入之后点击 提交

在 管理界面 点击 表名 就可以看到list了。

web2py--------------用web2py写 django的例子 --------建立一个投票应用(2)

确实是简陋的管理界面,不过开发人员不要在意这些细节

我们 同样的方法看一下  Choice 的添加页面

web2py--------------用web2py写 django的例子 --------建立一个投票应用(2)

应该算是比较完美的呈现吧,系统为了做了 外键关联。

我们这里的建立模型就结束了

课后练习

尝试使用不同的数据库

系统为我们提供了 很多种 验证工具,可以尝试一下,这里只是用了  IS_IN_DB

上一篇:equals 与 == 的区别和用法(C# & Java)【转】


下一篇:811. Subdomain Visit Count