2010-03-21 23 views
2

模型示例:的Django模型:借鑑國外的鍵表中__unicode__功能管理

class Parent(models.Model): 
    name = models.CharField() 

    def __unicode__(self): 
     return self.name 

class Child(models.Model): 
    parent = models.ForeignKey(Parent) 

    def __unicode__(self): 
     return self.parent.name # Would reference name above 

我想要這個孩子。 unicode引用Parent.name,主要是爲管理部分,所以我最終沒有「子對象」或類似的,我寧願顯示它更像「兒童」。這可能嗎?我所嘗試過的大多數都不幸運。

回答

3
return u'Child of %s' % unicode(self.parent) 

顯然,你已經定義在有意義的父__unicode__()方法,對嗎?

+0

哦,我明白了。這有用,謝謝。 顯然我的__unicode__方法工作不正常(?),我用__str__和THAT出現在管理員。任何想法,爲什麼?我認爲Django默認會調用__unicode__? – 2010-03-21 04:01:27

+1

模板中的{{obj}}調用'unicode(obj)'。其他一切都留給了Python。 – 2010-03-21 04:05:01