上QQ阅读APP看书,第一时间看更新
3.6 创建模型
事实上我们绝不能满足于现有的数据库结构,不同的应用需要不同的数据库表,我们需要学会创建自己的模型。
现在开始创建模型(model),在详细学习Django的ORM开发之前,读者只要将模型理解为数据库表对应的Python类的表现形式即可。每一个模型对应一个数据库表,而模型的属性就是数据库表的字段。
在线投票系统需要两个模型:问卷(Question)和选项(Choice)。Question包含两个字段question_text(问卷描述)和pub_date(问卷发布时间);Choice包含两个字段choice_text(选项内容)和votes(选项得票数),另外由于每一个选项都必须属于一个问卷,因此需要给选项一个问卷外键。结合以上分析,修改polls/models.py文件,完成后的模型代码如下:
每一个模型类都是django.db.models.Model的子类,而模型的每一个属性都是Field类的实例,表示一个数据库表的字段。
每个Field类实例变量的名字都是数据库字段名(例如question_text和pub_date),因此在给字段起名字的时候一定要注意是否适合数据库。
为了满足不同数据库的需要,Django提供了几十个Field子类,不同的Field类在实例化的时候会接收不同的参数,这些会在后续内容中详细介绍。