有时我会创建定义了x
属性的对象,有时我不会。
class Object(models.Model):
x = models.IntegerField(blank=True, null=True)
我想创建一个我的对象的子集,而我的应用中的某个点未定义x
:
[o for o in os if not hasattr(o,'x')]
我正在玩shell,我没有得到我想要的结果。
>>> o = Object()
>>> o.save()
>>> o.id
1L
>>> hasattr(o,'x')
True
检查x == None
是否足够?
答案 0 :(得分:5)
是的,检查x is None
就足够了。
Object
的任何实例都将始终具有属性x
,无论您是否设置了它 - 如果您没有设置它,它只会是None