Django 模型字段中的选项 blank 和 null 有何区别

Django 开发中数据模型是肯定要用的,所以了解清楚各种字段的意思是必须的,今天就学习下 Django 模型字段的选项中的 blanknull 的区别吧。

blank 介绍

设置为True时,字段可以为空。设置为False时,字段是必须填写的。字符型字段CharFieldTextField是用空字符串来存储空值的。

null 介绍

设置为True时,djangoNull来存储空值。日期型、时间型和数字型字段不接受空字符串。所以设置IntegerFieldDateTimeField型字段可以为空时,需要将blanknull均设为True

总结

  • null 是针对数据库而言,如果 null=True, 表示数据库的该字段可以为空。
  • blank 是针对表单的,如果 blank=True,表示你的表单填写该字段的时候可以不填,比如 admin 界面下增加 model 一条记录的时候。直观的看到就是该字段不是粗体
  • 通俗点说,该字段null=true后,你进行插入,修改操作时可以为空,然后Django把空值转换成null存在数据库中,而blank只是在表单验证的时候会检测你是否可以为空

更多字段参考:https://docs.djangoproject.com/zh-hans/3.0/ref/models/fields/

此条目发表在Code分类目录,贴了, , 标签。将固定链接加入收藏夹。

发表评论

电子邮件地址不会被公开。 必填项已用*标注