10. null=Trueblank=True 的区别?

nullblank 的默认值都是 False 。他们两者的值都在字段级别工作,即,我们是否要保持字段null还是blank。

null=True 将会设置字段的值为空,即没有数据。这基本上用于数据库列值。

date = models.DateTimeField(null=True)

blank=True 决定在表格中是否需要该字段。这包含了admin表单和你自己的表单。

title = models.CharField(blank=True) // title can be kept blank. In the database ("") will be stored.

null=True blank=True 这意味着这个字段在所有情况下是可选的。

epic = models.ForeignKey(null=True, blank=True) // The exception is CharFields() and TextFields(), which in Django are never saved as NULL. Blank values are stored in the DB as an empty string (‘’).

但也有个特殊例子,但你需要接受一个 BooleanField 的Null值时,请使用 NullBooleanField