之间是否存在有意义的差异
if self.pk is not None:
和
if self.pk:
在python django中检查模型字段时?
其他语言有各种不同的正确'检查变量为null,empty,nonexistant等的方法。
a)我不知道python如何处理支票
b)我不知道这在django模型字段中是否重要和/或有意义
答案 0 :(得分:3)
答案 1 :(得分:1)
Pk
是property,通常会解析为id
。除此之外没有其他魔力。
因此,两个语句之间的唯一区别是Python如何处理它们。第一个明确地测试pk
是否为None,而第二个将通过pk
的任何"falsy" value。
请注意pk
通常不应评估为False
,除非模型实例未保存到数据库中,因此实际上这两个语句应该非常相同。