【发布时间】:2011-06-29 12:56:25
【问题描述】:
我从我的数据库中检索了一个对象。该对象有一个外键字段,属性为blank=True。如何检查它是否真的留空?
感谢您的帮助!
【问题讨论】:
标签: django
我从我的数据库中检索了一个对象。该对象有一个外键字段,属性为blank=True。如何检查它是否真的留空?
感谢您的帮助!
【问题讨论】:
标签: django
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有什么区别?
is None 仅在 val == None 时为 True,而 if not 仅检查 bool(val) == False。 bool(0)、bool('') 都评估为 False。