为什么__dict__
和__unicode__
不能兼容,反之亦然?
Django告诉我将unicode返回设置为Model上的方法,例如:
class Obj(models.Model):
def __unicode__(self):
return 'hey'
>>> x = Obj()
<__main__.Obj object at 0x100703e10>
>>> x.__unicode__()
u'hello'
>>> x.__dict__
{}
这似乎是一个奇怪的差异,任何人都可以向我解释一下吗?
答案 0 :(得分:4)
__foo__
约定用于Python中的方法和不可调用属性。 __unicode__
是一种方法,__dict__
不是。
答案 1 :(得分:0)
__dict__
是实例的字典,而不是方法。