创建你的第一个模型
模型通常在应用程序子目录下的 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 个字符的文本author
是ForeignKey
,它表示与另一个模型/表的关系,在这种情况下Author
(仅用于示例目的)。on_delete
告诉数据库如果要删除相关对象(Author
)该如何处理对象。 (应该注意,因为 django 1.9on_delete
可以用作第二个位置参数。在 django 2 中它是一个必需的参数 ,建议立即对它进行处理。在旧版本中它将默认为CASCADE
。)publish_date
存储日期。null
和blank
都设置为True
,表示它不是必填字段(即你可以在以后添加它或将其留空。)
除了属性,我们定义了一个方法 __str__
,它返回书的标题,必要时将其用作 string
表示,而不是默认值。