Django管理界面:扩展“群组”页面显示其用户并允许添加新用户

时间:2014-09-29 11:06:07

标签: django django-models django-admin

在默认管理界面中,组页面不是很全面。 (附图)我无法看到属于该群组的用户,我无法从中添加任何用户(我必须转到用户的个人资料,然后添加一个接一个地去小组)

我尝试从admin.py扩展此功能,但不知道该怎么做。如果auth_groupauth_userauth_user_groupsmodels.py中的用户定义模型,我可能会执行以下操作:

from django.contrib import admin
from myproject.models import Group, User, GroupUserMembership 

class MembershipInline(admin.TabularInline):
    model = GroupUserMembership
    extra = 1

class UserAdmin(admin.ModelAdmin):
    inlines = (MembershipInline,)

class GroupAdmin(admin.ModelAdmin):
    inlines = (MembershipInline,)

admin.site.register(Group, GroupAdmin)
admin.site.register(User, UserAdmin)

但这会导致

Exception Value: The model Group is already registered

(我也不知道如何导入auth_user_groups

TL; DR 如何扩展Django管理界面以显示默认身份验证模型UserGroups之间的多对多关系? (如下图中的Permissions

Django default Admin Interface for groups

1 个答案:

答案 0 :(得分:1)

您必须先注销默认的用户(型号名称)模型管理员,然后才能注册您自己的。

试试这个

admin.site.unregister(User)
admin.site.register(User, UserAdmin)