1创建模型
在我们简单的民意调查应用程序中,我们将创建两个模型:Question
和Choice
。A Question
有问题和出版日期。A Choice
有两个字段:选择的文本和投票记录。每个Choice
都与一个Question
。
这些概念由简单的Python类表示。编辑 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)
这里的choice和question是多对一的关系,所以choice里面有一个ForeignKey,关联了question.
这里的CASCADE,是如果question表中的记录被删除,则choice表中对应的记录自动被删除
这里的question_text等,是数据库列名,CharField 是Field的子类,用来告诉python要什么数据类型。
2.激活模型,将应用添加到项目中
编辑mysite/settings.py
INSTALLED_APPS = [
'polls.apps.PollsConfig',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
然后运行命令
python manage.py makemigrations polls
在运行命令:
python manage.py migrate
总结:
请记住进行模型更改的三步指南:
- 更改模型(in
models.py
)。 - 运行以创建这些更改的迁移
python manage.py makemigrations
- 运行以将这些更改应用于数据库。
python manage.py migrate