在Django中,我创建了另一个单独的管理站点。这就是我的SiteUserAdmin类:
class SiteUserAdmin(UserAdmin):
form = UserChangeForm
add_form = UserCreationForm
list_display = ('username' ,'email',)
fieldsets = (
(None,{'fields':('username','email','password')}),('Permissions',{'fields':('is_active','is_admin_user','groups')})
)
在所有用户中,有超级用户" is_superuser = True"。反正有没有从管理站点的可编辑用户列表中隐藏这些超级用户? 换句话说,我不会从管理站点中排除其他字段,而是隐藏某些User用户的实例在管理站点中进行编辑。
答案 0 :(得分:2)
如何覆盖get_queryset()
方法。
class SiteUserAdmin(admin.ModelAdmin):
def get_queryset(self, request):
qs = super(SiteUserAdmin, self).get_queryset(request)
if request.user.is_superuser:
return qs
return qs.filter(is_superuser=False)
答案 1 :(得分:2)
覆盖get_queryset()
方法:
class SiteUserAdmin(UserAdmin):
...
def get_queryset(self, request):
qs = super(SiteUserAdmin, self).get_queryset(request)
return qs.exclude(is_superuser=True)