Django Admin 后台自定义字段列显示

原数据:

class UserInfoAdmin(admin.ModelAdmin):
    """
    用户其他信息对应的admin管理后台
    """
    # 页面展示
    list_display = ("display_name", "user", "telephone", "department")

admin.site.register(UserProfile, UserProfileAdmin)

在 list_display 中新增 user_id 列:

class UserInfoAdmin(admin.ModelAdmin):
    # 使用 get_user_id 方法名作为字段填入
    list_display = ("get_user_id", "display_name", "user", "telephone", "department")
    
    # 注册user_id的显示值
    @admin.display(description='ID', ordering='user__id')
    def get_user_id(self, obj):
        return obj.user.id if obj.user else "-"

admin.site.register(UserProfile, UserProfileAdmin)
posted @ 2025-07-18 14:59  wellplayed  阅读(28)  评论(0)    收藏  举报