简谈django的blank=true和null=true

简单的理解一下:

blank是django层面上的东西,决定了form表单当中这个值是否必填
null是sql层面上的东西,决定了数据库表中这个值可不可以为Null

避免对string-based的数据类型使用null=true,因为string-based的类型比如CharField和TextField,在一定程度上我们会将空字符串认为是空值,这时就不需要Null值了,这时如果引入Null值反而容易引起误解

高频使用的一段代码是:

blank=True, null=True

这是因为我们经常需要允许这个字段并不必填,又允许这个字段可以填为Null
显然,这两者是有区别的