一尘不染

Django ModelAdmin中的“ list_display”可以显示ForeignKey字段的属性吗?

django

我有一个Person模型,该模型具有与的外键关系Book,该模型具有许多字段,但是我最关心的是author(标准CharField)。

话虽如此,在我的PersonAdmin模型中,我想book.author使用显示list_display

class PersonAdmin(admin.ModelAdmin):
    list_display = ['book.author',]

我已经尝试了所有显而易见的方法来执行此操作,但是似乎没有任何效果。

有什么建议么?


阅读 716

收藏
2020-03-26

共1个答案

一尘不染

作为另一种选择,你可以进行如下查找:

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'
2020-03-26