创建你的第一个模型

模型通常在应用程序子目录下的 models.py 文件中定义。django.db.models 类的 django.db.models 模块是扩展模型的良好起点。例如:

from django.db import models

class Book(models.Model):
    title = models.CharField(max_length=100)
    author = models.ForeignKey('Author', on_delete=models.CASCADE, related_name='authored_books')
    publish_date = models.DateField(null=True, blank=True)

    def __str__(self): # __unicode__ in python 2.*
        return self.title

模型中的每个属性代表数据库中的一列。

  • title 是一个最大长度为 100 个字符的文本
  • authorForeignKey,它表示与另一个模型/表的关系,在这种情况下 Author(仅用于示例目的)。on_delete 告诉数据库如果要删除相关对象(Author)该如何处理对象。 (应该注意,因为 django 1.9 on_delete 可以用作第二个位置参数。在 django 2 中它是一个必需的参数 ,建议立即对它进行处理。在旧版本中它将默认为 CASCADE。)
  • publish_date 存储日期。nullblank 都设置为 True,表示它不是必填字段(即你可以在以后添加它或将其留空。)

除了属性,我们定义了一个方法 __str__,它返回书的标题,必要时将其用作 string 表示,而不是默认值。