默认情况下,django admin会显示管理站点上的所有用户。我正在开发一个应用程序,客户只想显示从移动设备或网络注册的用户,而不是管理员用户。如何在django管理站点上应用查询?请帮忙。提前谢谢。
def queryset(self, request):
if not request.user.is_superuser:
return User.objects.all()
return User.objects.filter(is_superuser=False)
答案 0 :(得分:2)
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)
您可以更改该模型的queryset
中要更改显示的admin.py
答案 1 :(得分:1)
您可以为此重写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)