Django models里面blank和null的用法区别

在学习Django框架的时候,编写models时遇到了这个问题,为了能够区分什么时候用blank,什么时候用null,所以写下两个的具体用法。

blank:

当blank=True时,说明此处的数据可以不填,默认情况下为False,也就意味着默认情况下,所输入的数据不得空,blank是和页面表单 有关,在页面需要输入参数的时候,如果在models里面定义了blank=True时,那么这个参数是可以不填写的,如果是默认的话,如果没有填写,则会提示错误。

null:

当null=True时,也就是说如果没有填写数据,此处用NULL来储存空值,默认的是null=False。

总结:

blank主要是用在CharField, TextField,这两个字符型字段可以用空字符穿来储存空值。

 null主要是用在IntegerField,DateField, DateTimeField,这几个字段不接受空字符串,所以在使用时,必须将blank和null同时赋值为True。

顺便一提,在设置BooleanField为空时,可以使用NullBooleanField型字段。      

猜你喜欢

转载自blog.csdn.net/rampage_chopper/article/details/80268341