私のすべての django-models にはunicode関数があります。現時点では、これらは次のように記述される傾向があります。
def __unicode__(self):
return u'Unit: %s -- %s * %f' % (self.name, self.base.name, self.mul)
ただし、 http: //python.net/~goodger/projects/pycon/2007/idiomatic/handout.html#string-formatting の Code Like a Pythonista では、これは辞書であると指摘されてself.__dict__
いるため、上記は次のように簡略化できます。 :
def __unicode__(self):
return u'Unit: %(name)s -- %(base.name)s * %(mul)f' % self.__dict__
これは、「base.name」を除いて機能します。これは、pythonself.__dict__['base.name']
が失敗した検索を試み、self.base.name が機能するためです。
外部キー関係に従う必要がある場合でも、これを機能させるエレガントな方法はありますか?