在所有django面板中显示字段

时间:2017-04-17 12:51:27

标签: python django django-admin

我是django面板的新手,我想在索引方法中显示一些特定字段,但我看到" NameClass Object"这一翻译。我尝试使用字段和list_display,但它没有用。

from django.contrib import admin
from base_proyecto.models import *

class AutorAdmin(admin.ModelAdmin):
  fields = ('name', 'dob', 'hp')
  list_display = ('name', 'dob', 'hp')


admin.site.register(Autor)

enter image description here

我希望看到多个列,每个属性一个。看起来应该是这样的

  • |名字| dob | hp |
  • J.Ken 08/04/1994 20
  • J.Ken2 08/01/1994 25

3 个答案:

答案 0 :(得分:1)

Auto模型中,您必须定义__str__(对于python 3)或__unicode__(对于python 2)方法。像这样:

class Autor(models.Model):
    name = models.CharField(max_length=50)
    # other fields here

    def __str__(self):  # python 3
        return self.name

    def __unicode__(self):  # python 2
        return self.name

答案 1 :(得分:0)

如果您使用的是python 2,则定义__unicode__()方法;如果您使用的是python 3,则为__str__()定义。{/ p>

答案 2 :(得分:0)

Author模型中编写 unicode ()方法(如果您正在使用Python3,则 str ()),

class Author(models.Model):
    # Here fields stuff

    def __unicode__(self):
        return self.nomber  

class AutorAdmin(admin.ModelAdmin):
    model = Author
     fields = ('name', 'dob', 'hp')
    list_display = ['name','dob', 'hp']

修改: - 如果您想要返回多个值,请尝试使用

def __unicode__(self):
    return '%s %s %s' % (self.name, self.dob, self.hp)