Person
との外部キー関係を持つモデルがありBook
、このモデルには多数のフィールドがありますが、最も懸念されるのはauthor
(標準の CharField) です。
そうは言っても、私のモデルでは、以下を使用してPersonAdmin
表示したいと思います。book.author
list_display
class PersonAdmin(admin.ModelAdmin):
list_display = ['book.author',]
あらゆる明白な方法を試してみましたが、何も機能しないようです。
助言がありますか?
ベストアンサー1
別のオプションとして、次のような検索を実行できます。
#models.py
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()
デコレータ:
#models.py
class UserAdmin(admin.ModelAdmin):
list_display = (..., 'get_author')
@admin.display(ordering='book__author', description='Author')
def get_author(self, obj):
return obj.book.author