2010-03-21 24 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