group管理站点上的内置 django模型仅显示name:
但我想包括已经是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)
Run Code Online (Sandbox Code Playgroud)
但这会返回错误:
django.contrib.admin.sites.AlreadyRegistered: The model Group is already registered.
Run Code Online (Sandbox Code Playgroud)
我已经在 admin 上成功注册了其他模型(我已经创建了),但上述内容不适用于那些已经是 django 一部分的模型。
如何在管理模型中添加字段Group?
您需要先从内置Group模型中取消注册,然后再使用自定义模型重新注册GroupAdmin。
所以:
class GroupsAdmin(admin.ModelAdmin):
list_display = ["name", "pk"]
class Meta:
model = Group
admin.site.unregister(Group)
admin.site.register(Group, GroupsAdmin)
Run Code Online (Sandbox Code Playgroud)
另外,Meta课程不是必需的。您可以将其删除。
接受的答案是正确的,但是,我想指出您可以从GroupAdmin,继承,如果您的目标只是扩展它而不是修改:
from django.contrib.auth.admin import GroupAdmin
class GroupsAdmin(GroupAdmin):
list_display = ["name", "pk"]
admin.site.unregister(Group)
admin.site.register(Group,GroupsAdmin)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2707 次 |
| 最近记录: |