2017-04-17 37 views
0

我是新的django面板,我想在索引方法中显示一些特定的字段,但我看到“NameClass对象”intead。我尝试使用字段和list_display,但它没有奏效。在显示字段中获取所有django面板

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 1994年8月4日20
  • J.Ken2 1994年8月1日25

回答

0

定义__unicode__()方法,如果你在蟒蛇2或__str__()如果你是蟒蛇3 ,为你的模型。

+0

如何显示多列每个属性一个? –

+0

@nachoc什么? –

+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 
+0

_unicode_工程,但我想显示多个字段。我编辑了这个问题以便更清楚 –

+0

没问题!只需'返回'{field1} {field2} {field3}'.format(field1 = self.field1,field2 = self.field2,field3 = self.field3)'。 –

0

的Unicode()方法Author模型(或STR()如果你使用Python3),

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)  
+0

是__unicode__工作,但我怎样才能显示多个字段? –

相关问题