Django检查字段是不是为空?
Posted
技术标签:
【中文标题】Django检查字段是不是为空?【英文标题】:Django check to see if field is blank?Django检查字段是否为空? 【发布时间】:2011-06-29 12:56:25 【问题描述】:我从我的数据库中检索了一个对象。该对象有一个外键字段,属性为blank=True。如何检查它是否真的留空?
感谢您的帮助!
【问题讨论】:
【参考方案1】:blank=True
只是告诉管理站点该字段可以留空。
除非您也设置了null=True
,否则如果您尝试输入空白值,您的数据库应该会报错。
如果你的外键字段可以取空值,它会在空时返回 None,所以要检查它是否“留空”,你可以简单地检查该字段是否为 None
。
>>> obj.foreignkeyfield is None
True
if not obj.foreignkeyfield:
print "This field was left blank"
【讨论】:
is None
和if not
有什么区别?
@hobbes3,对于 FK 字段,这并不重要。我使用一个表达式来显示控制台输出作为示例。 is None
仅在 val == None
时为 True,而 if not
仅检查 bool(val) == False
。 bool(0)
、bool('')
都评估为 False。以上是关于Django检查字段是不是为空?的主要内容,如果未能解决你的问题,请参考以下文章
是否可以通过检查它们的交集是否为空来过滤 django 多对多 QuerySet 字段?
当我在 for 中有一个 if 时,Django 模板检查是不是为空