我有以下对象字段:
is_vendor = models.BooleanField(default=False)
我有以下if语句:
print(customer.is_vendor) //This prints False
if customer.is_vendor:
print('im a vendor') //This prints even the value above is false
else:
print('im not a vendor')
为什么会这样?
答案 0 :(得分:2)
您在字段中有一个字符串-“ False”,而不是False。对于Django来说这很酷,但是对于python来说却不是。尝试使用customer.is_vendor.to_python()
。那会把它弄成一个布尔值。
if "False": print 'True!' # is True
if False: print 'True!' # Nope.
if customer.is_vendor.to_python():
print "Is a vendor!"