Django 创建您的第一个模型

示例

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

fromdjango.dbimport 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个字符的文本

  • author是ForeignKey,表示与另一个模型/表的关系,在这种情况下Author(仅用于示例目的)。on_delete告诉数据库应该Author删除相关对象(an )时如何处理该对象。(应该注意,由于django 1.9on_delete可以用作第二个位置参数。在django 2中,它是必需的参数,建议立即将其视为此类。在较旧的版本中,它将默认为CASCADE。)。

  • publish_date存储日期。双方null并blank设置为True以表明它不是一个必填字段(例如,你可以在日后添加,或保留它为空)。

连同属性一起,我们定义了一个方法,__str__该方法将返回书的标题,该书的标题将string在必要时用作其表示形式,而不是默认名称。