我所有的 django-models 都有unicode函数,目前这些函数往往是这样写的:
def __unicode__(self):
return u'Unit: %s -- %s * %f' % (self.name, self.base.name, self.mul)
但是,像 Pythonista 一样的代码,在http://python.net/~goodger/projects/pycon/2007/idiomatic/handout.html#string-formatting指出这self.__dict__
是一个字典,因此上面可以简化为:
def __unicode__(self):
return u'Unit: %(name)s -- %(base.name)s * %(mul)f' % self.__dict__
这有效,除了“base.name”,因为 python 尝试查找self.__dict__['base.name']
失败,而 self.base.name 有效。
即使您需要遵循外键关系,是否有一种优雅的方式来完成这项工作?