【问题标题】:django remove the Superuser statusdjango 删除超级用户状态
【发布时间】: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


    【解决方案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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-19
      • 2022-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-09
      • 2021-04-03
      • 2013-04-12
      相关资源
      最近更新 更多