簡體   English   中英

DJANGO:如何list_display反向外鍵屬性?

[英]DJANGO: How to list_display a reverse foreign key attribute?

我正在構建一個Web應用程序來跟蹤一個人檢查的圖書館書籍。 我有以下型號:

class Person(models.Model):
    name = models.CharField(max_length=100)
    def __unicode__(self):
         return self.name

class Book(models.Model):
    name = models.CharField(max_length=100)
    person = models.ForeignKey(Person)
    checkout_date = models.DateTimeField('checkout date')
    def __unicode__(self):
        return self.name

在管理員的“人員更改列表”頁面上,我想展示該人擁有的書籍。 這是可以做到的嗎? 如果是這樣,怎么樣?

admin.py

class BookAdmin(admin.ModelAdmin):
     list_display = ('name', 'checkout_date', 'person' )

class PersonAdmin(admin.ModelAdmin):
    list_display = ('name', 'book__name')

Django管理員非常靈活,你可以簡單地為它添加一個幫助方法。

class PersonAdmin(admin.ModelAdmin):
    list_display = ('name', 'books')

    def books(self, obj):
        return ",".join([k.name for k in obj.book_set.all()])

添加inlinemodel管理員

class BookInline(admin.TabularInline):
    model = book

class PersonAdmin(admin.ModelAdmin):
    inlines = [BookInline, ]

這應該涵蓋它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM