为Django应用创建和激活模型models

django的模型models,也就是数据库的结构

创建模型

每个生成的应用目录中都有一个 models.py 文件,用来创建模型即数据库结构

from django.db import models

class Question(models.Model):
  question_text = models.CharField(max_length=200)
  pub_date = models.DateTimeField('date published')

  def __str__(self):
      return self.question_text

class Choice(models.Model):
  question = models.ForeignKey(Question, on_delete=models.CASCADE)
  choice_text = models.CharField(max_length=200)
  votes = models.IntegerField(default=0)

  def __str__(self):
     return self.choice_text

以上代码中

  • 每个class代表创建一个表,class名即为表名
  • class中的每一个变量,表示该表中的一个字段,变量名即为字段名
  • 每个变量(字段)在定义时被指明了数据类型,还可以加上需要的参数对数据内容进行限制和验证
  • 可以为字段指定一个verbose_name(默认与字段名相同),如pub_date字段,将来在网页中呈现出来的就是所设置的verbose_name,而不是字段名
  • class中的__str__ 方法,方便用来获取表中指定的内容

激活模型

  1. 首先需要将应用添加到项目中,在项目的settings.py中,找到INSTALLED_APPS项,添加以下内容:polls.apps.PollsConfig

    polls为应用名称,apps为应用里的apps.py文件,里面定义了PollsConfig类,这些是在创建应用时就自动生成的。

  2. 应用添加至项目后,在命令行运行命令:python manage.py makemigrations polls ,该命令会检查应用polls的模型models.py文件的修改,将修改生成迁移文件(应用的migrations目录中会生成一个以序号开头的initial.py文件)

  3. 运行命令:python manage.py migrate ,用来将项目中所有没有被执行过的迁移应用到数据库中

  4. 查看数据库,可以看到生成了相应的表结构

你可能感兴趣的:(django)