模型字段参考

1 官方文档网址 http://python.usyiyi.cn/documents/django_182/ref/models/fields.html

2 null

  Field.null

  如果为True,Django将在数据库中将空值存储为NULL默认值是 False

  字符串字段例如CharField 和TextField 要避免使用null,因为空字符串值将始终储存为空字符串而不是NULL如果字符串字段的null=True,那意味着对于“无数据”有两个可能的值:NULL 和空字符串。在大多数情况下,对于“无数据”声明两个值是赘余的,Django 的惯例是使用空字符串而不是NULL

无论是字符串字段还是非字符串字段,如果你希望在表单中允许空值,你将还需要设置blank=True

3 blank

  如果为True,则该字段允许为空白。 默认值是 False

注意它与null不同。null 纯粹是数据库范畴的概念,而blank 是数据验证范畴的。如果字段设置blank=True,表单验证时将允许输入空值。如果字段设置blank=False,则该字段为必填。

4 choices 

  它是一个可迭代的结构(比如,列表或是元组),由可迭代的二元组组成(比如[(A, B), (A, B) ...]),用来给这个字段提供选择项。如果设置了 choices ,默认表格样式就会显示选择框,而不是标准的文本框,而且这个选择框的选项就是 choices 中的元组。

每个元组中的第一个元素,是存储在数据库中的值;第二个元素是该选项更易理解的描述。

YEAR_IN_SCHOOL_CHOICES = (
    ('FR', 'Freshman'),
    ('SO', 'Sophomore'),
    ('JR', 'Junior'),
    ('SR', 'Senior'),
)

5 default

  该字段的默认值. 它可以是一个值或者一个可调用对象. 如果是一个可调用对象,那么在每一次创建新对象的时候,它将会调用一次.

这个默认值不可以是一个可变对象(如字典,列表,等等),因为对于所有模型的一个新的实例来说,它们指向同一个引用。

原文地址:https://www.cnblogs.com/654321cc/p/8185320.html