在列表外的Django Admin中显示UserProfile字段

Ada*_*ver 0 python django django-admin

我有我的phone领域UserProfile.如何将其显示在Django Admin › Auth › Users外部列表中(列表显示) - 而不是记录内部?

我现在有:

class UserAdmin(UserAdmin):
    list_display = ('email', 'first_name', 'last_name', 'userprofile__phone')
    inlines = (UserProfileInline,)


# Re-register UserAdmin
admin.site.unregister(User)
admin.site.register(User, UserAdmin)
Run Code Online (Sandbox Code Playgroud)

userprofile__phone无法识别.

kar*_*ikr 6

一种方法是

class UserAdmin(UserAdmin):
    list_display = ('email', 'first_name', 'last_name', 'phone')
    inlines = (UserProfileInline,)

    def phone(self, obj):
        try:
            phone = obj.userprofile.phone #Or change this to how you would access the userprofile object - This was assuming that the User, Profile relationship is OneToOne
            return phone
        except:
            return ""

    phone.short_description = 'Phone'

# Re-register UserAdmin
admin.site.unregister(User)
admin.site.register(User, UserAdmin)
Run Code Online (Sandbox Code Playgroud)

更多细节在list_display这里