#django
#django
Вопрос:
Как удалить статус суперпользователя при создании admin user
администратора в django?, Я имею в виду, например, я 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')})]
Ответ №1:
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')})]
admin.site.unregister(User)
admin.site.register(User, MyUserAdmin)