Ahm*_*hbi 3 django django-admin
我有两个模型:
class Person(models.Model):
person_name = models.CharField(max_length=255)
def __unicode__(self):
return self.person_name
Run Code Online (Sandbox Code Playgroud)
和
class Book(models.Model):
link = models.ForeignKey(Person)
book_name = models.CharField(max_length=255)
book_year = models.CharField(max_length=255)
book_email = models.CharField(max_length=255)
def __unicode__(self):
return self.name
Run Code Online (Sandbox Code Playgroud)
管理员
class PersonAdmin(admin.ModelAdmin):
inlines = ('BookInline',)
list_display = ('person_name', ...)
class BookInline(admin.TabularInline):
model = Book
extra = 1
max_num = 1
Run Code Online (Sandbox Code Playgroud)
在PersonAdminlist_display中,如何显示内联模型Book字段(标题,名称,电子邮件)。
因此,当我访问Persondjango admin中的条目列表时,我看到:
person name book name book year book email
在list_display为PersonAdmin是为了显示每个人一次。从书本模型中包含属性实际上没有任何意义,因为如果他们有一本书以上,那么您将不得不多次包含该人。
在书的名字上包含这个人的名字不是更好list_display吗?
class BookAdmin(admin.ModelAdmin):
inlines = ('BookInline',)
list_display = ('person_name', 'book_name', 'book_email', 'book_year')
def person_name(self, obj):
returns obj.link.person_name
admin.site.register(Book, BookAdmin)
Run Code Online (Sandbox Code Playgroud)