我有一个Person
模型,它与Book
有外键关系,Book
有很多字段,但我最关心的是author
(标准Charfield).
话虽如此,在我的PersonAdmin
模型中,我想使用list_display
来显示book.author
:
class PersonAdmin(admin.ModelAdmin):
list_display = ['book.author',]
我try 了所有显而易见的方法,但似乎都不管用.
有什么建议吗?
我有一个Person
模型,它与Book
有外键关系,Book
有很多字段,但我最关心的是author
(标准Charfield).
话虽如此,在我的PersonAdmin
模型中,我想使用list_display
来显示book.author
:
class PersonAdmin(admin.ModelAdmin):
list_display = ['book.author',]
我try 了所有显而易见的方法,但似乎都不管用.
有什么建议吗?
作为另一种 Select ,您可以进行如下查找:
class UserAdmin(admin.ModelAdmin):
list_display = (..., 'get_author')
def get_author(self, obj):
return obj.book.author
get_author.short_description = 'Author'
get_author.admin_order_field = 'book__author'
从Django 3.2开始,您可以使用display()
个decorator :
class UserAdmin(admin.ModelAdmin):
list_display = (..., 'get_author')
@display(ordering='book__author', description='Author')
def get_author(self, obj):
return obj.book.author