【发布时间】:2020-12-19 09:20:49
【问题描述】:
如何在 django admin 中创建admin user 时删除超级用户状态?,例如,我是Staff status,我有权创建另一个用户,作为Staff status admin 我不想要在创建用户时查看Superuser status。请看下图
from django.contrib.auth.admin import UserAdmin
admin.site.unregister(User)
admin.site.register(User, MyUserAdmin)
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')
else:
# modify these to suit the fields you want your
# staff user to be able to edit
perm_fields = ('is_active', 'is_staff')
return [(None, {'fields': ('username', 'password')}),
(('Personal info'), {'fields': ('first_name', 'last_name', 'email')}),
(('Permissions'), {'fields': perm_fields}),
(('Important dates'), {'fields': ('last_login', 'date_joined')})]
【问题讨论】:
标签: django