Django model何时使用null和blank

Posted 封灵寒武

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django model何时使用null和blank相关的知识,希望对你有一定的参考价值。

数据项类型 设置 null=True 设置 blank=True
CharField, TextField, SlugField, EmailField, CommaSeparatedIntegerField, UUIDField 不要这样设置。Django 的传统是将空值保存为空字符串,而获取的 NULL 或空值解析为空字符串 可以设置。如果你允许其对应的表单项接受空值。
FileField, ImageField 不要这样设置。Django 只是将从 MEDIA_ROOT 到该文件的路径保存在 CharField, 因此规则同上 可以这样设置,规则如 CharField
BooleanField 不要这样设置。不要用这个 Field, 用 NullBoolField 不要这样设置
IntegerField, FloatField, DecimalField, DurationField 等 如果你允许在数据库中存储 NULL 的话,可以这样设置 如果你允许其相应的表单组件接受空值,可以这样设置,同时要设置 null=True
DateFieldField, DateField, TimeField 等 如果你允许在数据库中存储 NULL 的话,可以这样设置 如果你允许其对应的表单组件接受空值,或者使用了 auto_now、auto_now_add 的话,可以这样设置。同时要设置 null=True
ForeignKey, ManyToManyField, OneToOneField 可以这样设置 可以这样设置
GenericIPAddressField 可以这样设置 可以这样设置
IPAddressField 不推荐使用该项类型,已在 Django 1.7 中过时 不推荐使用该项类型

以上是关于Django model何时使用null和blank的主要内容,如果未能解决你的问题,请参考以下文章

Django继承模型的JSON序列化

django select_related - 何时使用它

Django South 迁移不适用于 null = True 和空白 = True

Django models中的null和blank的区别

Django models中的null和blank的区别

在 Django models.py 中,default、null 和 blank 有啥区别?