Django models中的null和blank的区别

blank在数据库上存储的是一个空字符串

如需设置字段可以为空:blank=True,默认为blank=False(字段必须填写);

null在数据库上表现为NULL,而不是一个空字符串

如需设置字段可以为空:null=True,默认为null=False(字段必须填写);

注意:

日期类型(DateField、TimeField、DateTimeField)和数字类型(IntegerField、DecimalField、FloatField)不能接受空字符串,因此这两种类型类型的字段如果要设置为可空,则需要同时设置null=True,blank=True;

概括(概括内容来自博客园ccorz

null 是针对数据库而言,如果 null=True, 表示数据库的该字段可以为空。
blank 是针对表单的,如果 blank=True,表示你的表单填写该字段的时候可以不填,比如 admin 界面下增加 model 一条记录的时候。直观的看到就是该字段不是粗体



作者:零_WYF
链接:https://www.jianshu.com/p/108697dfb899
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

posted @ 2018-11-01 20:44  RyanJin  阅读(1468)  评论(0编辑  收藏  举报