我是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)
我希望看到多个列,每个属性一个。看起来应该是这样的
答案 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)