我有两种模式:
class Person(models.Model):
person_name = models.CharField(max_length=255)
def __unicode__(self):
return self.person_name
和
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
admin.py
class PersonAdmin(admin.ModelAdmin):
inlines = ('BookInline',)
list_display = ('person_name', ...)
class BookInline(admin.TabularInline):
model = Book
extra = 1
max_num = 1
在PersonAdmin
list_display中,如何显示内嵌模型Book
字段(标题,名称,电子邮件)。
所以当我访问django admin中的Person
条目列表时,我看到了:
person name
book name
book year
book email
答案 0 :(得分:5)
list_display
的{{1}}用于显示每个人一次。包含书籍模型中的属性并没有多大意义,因为如果他们有多本书,你必须多次包括这个人。
最好不要将这个人的姓名包含在书中PersonAdmin
?
list_display
答案 1 :(得分:0)
根据doc,您可以使用callable来显示字段。
答案 2 :(得分:0)
[1, 2, 3]
StackedInline将解决您的问题