Show inline model field in list_display

Viewed 10151

I have two models:

class Person(models.Model):
    person_name = models.CharField(max_length=255)

    def __unicode__(self):
        return self.person_name

and

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

In PersonAdmin list_display, how can i show the inline model Book fields (title, name, email).

so when i access Person list of entries in django admin, i see:

person name book name book year book email

3 Answers
class BookInline(admin.StackedInline):
   model = Book
   extra = 1
   max_num = 1

StackedInline will solve your problem

Related