🗒️Django model中null和blank区别
type
status
slug
summary
tags
category
icon
password
Date
在Django的模型定义中,
null和blank是两个经常用到的参数null
- 数据库层面:
null=True表示该字段在数据库中允许存储NULL值。
- 数据类型: 主要用于数值型、日期型和时间型字段。
- 默认值: 如果不设置,默认为
null=False。
blank
- 表单验证层面:
blank=True表示在Django的表单验证(如Admin界面或是使用ModelForm)时,该字段是可以为空的。
- 数据类型: 可用于任何类型的字段。
- 默认值: 如果不设置,默认为
blank=False。
示例
email: 在数据库中可以是NULL(因为null=True),并且在Django的表单验证中也可以为空(因为blank=True)。
birthdate: 同样,在数据库中可以是NULL,并且在表单验证中也可以为空。
注意事项
- 对于
CharField和TextField,建议使用blank=True而不是null=True,因为Django会将空字符串('')用于表示空值。
- 对于
ForeignKey字段,如果想表示“没有关联”,则应该使用null=True。
Loading...