1

有时我创建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足够?

4

1 回答 1

5

是的,检查x is None就足够了。

的任何实例都Object将始终具有属性x,无论您是否设置它 - 只是None如果您没有设置它。

于 2013-07-25T10:39:51.593 回答