如何从django管理面板中删除user_permissions

khbbv19g  于 2023-01-10  发布在  Go
关注(0)|答案(3)|浏览(133)

让我知道如何从模型中的用户和组中删除user_permission字段,如下图所示

cdmah0mi

cdmah0mi1#

您可以通过重写UserAdmin类从默认用户admin中删除字段[源代码]

# admin.py
from django.contrib.auth.admin import UserAdmin

class CustomUserAdmin(UserAdmin):
    # ...
    fieldsets = (
        (None, {'fields': ('username', 'password')}),
        (_('Personal info'), {'fields': ('first_name', 'last_name', 'email')}),
        (_('Permissions'), {
        'fields': ('is_active', 'is_staff', 'is_superuser', 'groups', 'user_permissions'),
    }),
        (_('Important dates'), {'fields': ('last_login', 'date_joined')}),
)

admin.site.register(UserModel, CustomUserAdmin)

参见详细示例

ezykj2lf

ezykj2lf2#

使用此选项可删除user_permission

exclude = ('user_permissions',)
qv7cva1a

qv7cva1a3#

完成@SATYA的答案后,您可以执行以下操作:

# admin.py
from django.contrib import admin
from django.contrib.auth.models import User

class CustomUserAdmin(admin.ModelAdmin):
    exclude = ('user_permissions',)

admin.site.register(User, CustomUserAdmin)

你也可以扩展Django的UserAdmin(从django.contrib.auth.admin),但是如果你使用自定义的User模型,这可能会出错。

相关问题