Django如何检查字段是否为空?

37

我从数据库中检索到一个对象。该对象具有一个外键字段,属性为blank=True。 我该如何检查它是否实际上为空?

感谢您的帮助!

1个回答

46

blank=True只是告诉管理界面该字段可以留空。

除非您还设置了null=True,否则如果您尝试输入空值,则数据库应会发出警告。

如果您的外键字段可以接受null值,则在为null时它将返回None,因此要检查它是否“留空”,您只需检查该字段是否None即可。

>>>   obj.foreignkeyfield is None
True


if not obj.foreignkeyfield:
    print "This field was left blank"

is Noneif not有什么区别? - hobbes3
10
在FK字段的情况下,这并不重要。我使用表达式来展示控制台输出作为例子。“is None”仅在“val == None”时为True,而“if not”只是检查“bool(val) == False”。 “bool(0)”,“bool('')”都会被评估为False。 - Yuji 'Tomita' Tomita

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接