Django models中的null和blank的区别

本文详细解析了在Django模型字段中null与blank属性的作用与区别,阐述了它们在数据库层面及表单验证上的不同表现,帮助开发者正确理解和使用这两个属性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

blank在数据库上存储的是一个空字符串

如需设置字段可以为空:blank=True,默认为blank=False(字段必须填写);

null在数据库上表现为NULL,而不是一个空字符串

如需设置字段可以为空:null=True,默认为null=False(字段必须填写);

注意:

日期类型(DateField、TimeField、DateTimeField)和数字类型(IntegerField、DecimalField、FloatField)不能接受空字符串,因此这两种类型类型的字段如果要设置为可空,则需要同时设置null=True,blank=True;

概括(概括内容来自博客园ccorz

null 是针对数据库而言,如果 null=True, 表示数据库的该字段可以为空。
blank 是针对表单的,如果 blank=True,表示你的表单填写该字段的时候可以不填,比如 admin 界面下增加 model 一条记录的时候。直观的看到就是该字段不是粗体



作者:零_WYF
链接:https://www.jianshu.com/p/108697dfb899
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

转载于:https://www.cnblogs.com/RyanJin/p/9892380.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值