2017-04-17 31 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__工作,但我怎樣才能顯示多個字段? –