小编Dar*_*ani的帖子

我希望 Django 中的 Staffuser 看不到任何超级用户

现在我已经应用了这段代码

from django.contrib import admin
from django.contrib.auth.admin import UserAdmin
from django.contrib.auth.models import User

class MyUserAdmin(UserAdmin):
    def get_fieldsets(self,request,obj=None):
        if not obj:
            return self.add_fieldsets
        
        if request.user.is_superuser:
            perm_fields = ('is_active','is_staff','is_superuser','groups','user_permissions')

            return [(None, {'fields': ('email', 'password')}),
                    ('Personal info', {'fields': ('first_name', 'last_name')}),
                    ('Permissions', {'fields': ('is_active', 'is_staff', 'is_superuser', 'groups', 'user_permissions')}),
                    ('Important dates', {'fields': ('last_login', 'date_joined')}),
                    ('Contact info', {'fields': ('contact_no',)})]
        else:
            perm_fields = ('is_active','is_staff')
        
            return [(('Creds'),{'fields':('username','password')}),
                    (('Personal info'),{'fields':('first_name','last_name','email')})]

admin.site.unregister(User)
admin.site.register(User,MyUserAdmin)
Run Code Online (Sandbox Code Playgroud)

当我以员工用户身份登录时,所有员工用户都可以看到超级用户 在此输入图像描述

但我希望员工用户看不到任何超级用户。因此在这种情况下,staffuser 只能查看 1 个“新”用户和“admin”用户(超级用户),应隐藏

我怎样才能做到这一点 ?

python django django-models django-admin python-3.x

1
推荐指数
1
解决办法
134
查看次数

标签 统计

django ×1

django-admin ×1

django-models ×1

python ×1

python-3.x ×1