使对象属性显示而不是对象django

时间:2014-02-11 13:15:06

标签: python django admin

在django admin中,我有一个模型,其中有几个对象。现在在管理员中,我有Mymodel的链接。如果我点击它,我会得到一个列表,所有这些都说

Mymodel object

如果我需要从表中找到特定记录,那么我只需要搜索整个列表。如何更改设置,以便代替MyModel object我可以看到一个属性,比如该特定对象的名称?

1 个答案:

答案 0 :(得分:5)

您应该在模型类中定义__unicode__方法:

def __unicode__(self):
    return self.name # to display name attribute

来自django docs

  

只要在一个上调用unicode(),就会调用__unicode__()方法   宾语。 Django使用unicode(obj)(或相关函数,str(obj))   在许多地方。最值得注意的是,要显示一个对象   Django管理站点和当它插入模板时的值   显示一个对象。因此,你应该总是回报一个好的,   来自__unicode__()的模型的人类可读表示   方法