Django models中的null和blank的区别
2018-04-18 本文已影响21人
零_WYF
blank在数据库上存储的是一个空字符串
如需设置字段可以为空:blank=True,默认为blank=False(字段必须填写);
null在数据库上表现为NULL,而不是一个空字符串
如需设置字段可以为空:null=True,默认为null=False(字段必须填写);
注意:
日期类型(DateField、TimeField、DateTimeField)和数字类型(IntegerField、DecimalField、FloatField)不能接受空字符串,因此这两种类型类型的字段如果要设置为可空,则需要同时设置null=True,blank=True;
示例.png
概括(概括内容来自博客园ccorz)
null 是针对数据库而言,如果 null=True, 表示数据库的该字段可以为空。
blank 是针对表单的,如果 blank=True,表示你的表单填写该字段的时候可以不填,比如 admin 界面下增加 model 一条记录的时候。直观的看到就是该字段不是粗体