Django - 修改群组管理模型中的字段

7
内置的django group模型在管理网站上仅显示name

enter image description here

但是我想包括已经是group模型一部分的其他字段,例如id
我尝试使用以下admin.py设置添加这些字段:
from django.contrib import admin
from django.contrib.auth.models import Group


class GroupsAdmin(admin.ModelAdmin):
    list_display = ["name", "pk"]
    class Meta:
        model = Group

admin.site.register(Group, GroupsAdmin)

但是这会返回错误:
django.contrib.admin.sites.AlreadyRegistered: The model Group is already registered.

我已成功在管理界面上注册了我创建的其他模型,但对于那些已经是Django一部分的模型,以上方法不起作用。
如何为Group模型添加字段到管理界面?
2个回答

10

接受的答案是正确的,不过我想指出,如果你的目标只是扩展而不是修改,那么你可以从 GroupAdmin 继承:

接受的答案是正确的,不过我想指出,如果你的目标只是扩展而不是修改,那么你可以从 GroupAdmin 继承:

from django.contrib.auth.admin import GroupAdmin

class GroupsAdmin(GroupAdmin):
    list_display = ["name", "pk"]

admin.site.unregister(Group)
admin.site.register(Group, GroupsAdmin)

8
您需要先从内置的“Group”模型中注销它,然后使用您自己的“GroupAdmin”模型重新注册它。因此:
class GroupsAdmin(admin.ModelAdmin):
    list_display = ["name", "pk"]
    class Meta:
        model = Group

admin.site.unregister(Group)
admin.site.register(Group, GroupsAdmin)

此外,Meta类并非必需。您可以将其删除。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接