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


    建立模型

    我们在models下及那里polls.py

    文件内容如下

     1 # -*- coding: utf-8 -*-
     2 pollsdb=DAL(uri='sqlite://polls.db')
     3 
     4 pollsdb.define_table('Question',
     5                      Field('question_text','string',length=200),
     6                      Field('pub_date','datetime'),
     7                      format='%(question_text)s')
     8 
     9 pollsdb.define_table('Choice',
    10                      Field('question','reference Question',requires=IS_IN_DB(pollsdb,'Question.id',pollsdb.Question._format)),
    11                      Field('choice_text','string',length=200),
    12                      Field('votes','integer',default=0),
    13                      format='%(choice_text)s')
    polls.py

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

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

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

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

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

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

    输入管理密码

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

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

    点击后边的 新纪录  按钮

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

    输入之后点击 提交

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

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

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

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

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

    课后练习

    尝试使用不同的数据库

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

  • 相关阅读:
    Servlet编程实例1
    Servlet
    JDBC之代码优化
    JDBC数据库编程
    数据库常识
    数据库基本操作
    STM32CUBEMX入门学习笔记3:HAL库以及STM32CUBE相关资料
    QT入门学习笔记2:QT例程
    爬虫制作入门学习笔记2:[转]python爬虫实例项目大全
    中移物联网onenet入门学习笔记2:中移物联的通信格式
  • 原文地址:https://www.cnblogs.com/bufubaoni/p/5831009.html
Copyright © 2020-2023  润新知