像default这种就叫字段选项,我们这里统一看一下
1 主键 primary_key
默认值为False,可以将其设置为True,设置为True后该字段会成为主键,如果一个表中有一个主键,那么它就不会再创建id作为主键了
我们现在设置user_name为主键
此时我们发现id那个字段就没有了,而且user_name的Key为PRI
2 字段管理后台中是否为空 blank
这个是在admin后台中使用的,可以将其设置为True,设置为True后,字段可以为空。如果是False,字段就必须有内容
- 这里的为空并不是mysql中的NULL
这个在后面讲完admin后台的时候,我们看后台的时候才有效果,在mysql中这个设置没有影响
3 字段在mysql是否允许为空 null
默认值为False,所以大部分字段需要加default。如果设置为True,表示该列值(类中的属性)允许为NULL
我们现在设置money这一字段允许为空
我们发现money的Null变为YES了
4 默认值 default
字段默认的值,当null为False时,default不给会报错
我们之前设置的出来长文本可以在mysql看出来有默认值,其余都是NULL,这个是正常的,在后续django插入数据的时候,就会使用到我们之前设置的默认值
5 增加索引 db_index
默认为False,如果设置为True,则为该列增加索引
我们现在对password与email增加索引
现在password与email的Key变为了MUL
6 列值(索引)是否唯一 unique
默认为False,如果设置为True,则索引必须唯一
我们对activated与date设置unique
发现activated与date的Key变为了UNI
7 列名称 db_column
列名称是这个
默认情况下我们使用属性名作为列名
可以使用db_column重新定义列名
8 在admin界面上的显示名称 verbose_name
这个我们要到admin中才能看出效果