【NB】创建模型
http://cdn.u1.huluxia.com/g4/M02/E1/4F/rBAAdmNqcR6AEjvnAADQ4EfoNCk110.jpg
现在,我们将定义模型 - 本质上数据库进行设计,使用其他元数据。
在我们的简单调查的应用程序,我们将创建两个模型:Question 和 Choice。Question有一个问题标题和发布日期。Choice有两个字段:选择文本和票数。每个选项都与一个问题关联。
这些概念由简单的Python类来表示。编辑 polls/models.py 文件,所以 polls/models.py 看起来是这样的:
from django.db import models
class Question(models.Model):
question_text = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')
class Choice(models.Model):
question = models.ForeignKey(Question, on_delete=models.CASCADE)
choice_text = models.CharField(max_length=200)
votes = models.IntegerField(default=0)http://cdn.u1.huluxia.com/g4/M02/E1/4F/rBAAdmNqcR-ATGSIAAKMSL6kZb4133.jpg
该代码是直接的。每个模型是django.db.models.Model类的子类。 每个模型具有许多类变量,每一个在模型变量与数据库表的字段关联。
每个字段由 Field 类实例表示 – 例如,CharField表示字符型字段,DateTimeField表示日期时间字段。这告诉Django 每个字段保存的数据类型。
每个Field实例(例如,question_text或pub_date)的名称是字段的名称,这是机器友好的格式。在Python代码中使用这个值,数据库将使用它作为列名。
字段也可以有不同的可选参数;在本示例中,我们已经将票数的默认值设置为0。
最后,需要注意的是关系的定义,这里使用了外键。这告诉 Django 每个选项关联一个问题。 Django支持所有常见的数据库关系:多对一,多对多以及一对之一。
页:
[1]