繁体   English   中英

如何从Django管理网站隐藏管理用户

[英]How to hide admin users from django admin site

默认情况下,django admin显示管理站点上的所有用户。 我正在开发一个应用程序,客户端希望仅显示从移动或网络注册的用户,而不是管理员用户。 如何在Django管理网站上对此应用查询? 请帮忙。 提前致谢。

def queryset(self, request):
    if not request.user.is_superuser:
        return User.objects.all()
    return User.objects.filter(is_superuser=False)
class MyModelAdmin(admin.ModelAdmin):
    def get_queryset(self, request):
        qs = super(MyModelAdmin, self).get_queryset(request)
        if request.user.is_superuser:
            return qs
        return qs.filter(your_filter)

您可以在要更改显示的模型的admin.py中更改queryset

您可以为此重写ModelAdmin的get_queryset方法:

class UserAdmin(admin.ModelAdmin):
    def get_queryset(self, request):
        qs = super(UserAdmin, self).get_queryset(request)
        qs = qs.filter(is_superuser=False)
        return qs

admin.site.register(User, UserAdmin)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM