如何在Django admin中管理权限表

5 投票
1 回答
6533 浏览
提问于 2025-04-17 13:30

在这里输入图片描述

当我使用 django admin 时,我可以在仪表盘上看到 GroupsUsers 的管理入口。请问我怎么才能像上面图片那样看到 Permission 表的管理入口呢?我现在使用的是 django 1.4。谢谢你的时间。

编辑:

from django.contrib import admin
from django.contrib.auth.models import Permission, ContentType

class PermissionAdmin(admin.ModelAdmin):

    fieldsets = [  
        (None,          {'fields': ['name','codename']}),  

    ]  
    list_display = ('name', 'codename')      

class ContentTypeAdmin(admin.ModelAdmin):

    fieldsets = [  
        (None,          {'fields': ['app_label','model']}),  
        ('More info',   {'fields': ['name','codename'], 'classes': ['collapse']}),  

    ]  
    list_display = ('app_label', 'model')         

admin.site.register(Permission, PermissionAdmin)
admin.site.register(ContentType, ContentTypeAdmin)

编辑后,我得到了。

django.core.exceptions.ImproperlyConfigured: 'ContentTypeAdmin.fieldsets[1][2]['fields']' refers to field 'codename' that is missing from the form.

ContentType 可以和 Permission 形成 onetomany 的关系。我该如何在管理后台处理这两个模型呢?在我添加以下内容之前,一切都运行得很好:

('More info',   {'fields': ['name','codename'], 'classes': ['collapse']}),  

编辑2: 在这里输入图片描述

1 个回答

6

我不太确定你想要的界面应该是什么样子,但你可以这样做:

from django.contrib.auth.models import Permission

class PermissionAdmin(admin.ModelAdmin):
    model = Permission
    fields = ['name']

admin.site.register(Permission, PermissionAdmin)

也许你可以从这里开始,然后根据自己的需要进行调整。

撰写回答