primary_key

    如果为True,那么这个字段就是模型的主键.

    如果你没有指定任何一个字段的primary_key=True,

    Django就会自动添加一个IntegerField字段做为主键,所以除非你想覆盖默认的主键行为,否则没必要设置任何一个字段的primary_key=True.


 

AutoField

    一个 IntegerField, 添加记录时它会自动增长. 你通常不需要直接使用这个字段;

    自定义一个主键:my_id=models.AutoField(primary_key=True)

    如果你不指定主键的话,系统会自动添加一个主键字段到你的 model.


 

null

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


 

blank

    如果为True, 该字段允许不填, 默认为False.

    要注意,这与 null 不同,null纯粹是数据库范畴的,而 blank 是数据验证范畴的。

    如果一个字段的blank=True,表单的验证将允许该字段是空值;

    如果字段的blank=False,该字段就是必填的.


 

default

    字段的默认值,可以是一个值或者可调用对象,如果可调用,每有新对象被创建它都会被调用.


 

unique

    如果该值设置为True, 这个数据字段的值在整张表中必须是唯一的.


choices

    由二元组组成的一个可迭代对象(例如,列表或元组),用来给字段提供选择项.

    如果设置了choices,默认的表单将是一个选择框而不是标准的文本框,而且这个选择框的选项就是choices 中的选项.