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 Noneif not有什么区别? @hobbes3,对于 FK 字段,这并不重要。我使用一个表达式来显示控制台输出作为示例。 is None 仅在 val == None 时为 True,而 if not 仅检查 bool(val) == Falsebool(0)bool('') 都评估为 False。

以上是关于Django检查字段是不是为空?的主要内容,如果未能解决你的问题,请参考以下文章

是否可以通过检查它们的交集是否为空来过滤 django 多对多 QuerySet 字段?

无法检查文本字段是不是为空

当我在 for 中有一个 if 时,Django 模板检查是不是为空

FluentValidation:检查两个字段之一是不是为空

asp怎样检查字段是不是为空?

两个表连接时如何检查字段是不是为空