def get_queryset(self):
if self.request.user.is_superuser:
return User.objects.all()
else:
return User.objects.filter(id=self.request.user.id)
指定,permission_classes = (AllowAny,)
以便经过身份验证的用户可以创建一个新用户。
:评论中的进一步解释
是的,未经身份验证的用户可以发送GET请求以检索用户列表,但该列表为空,因为返回User.objects.filter(id = self.request.user.id)确保仅返回有关经过身份验证的用户的信息。
对于其他方法也是如此,如果经过身份验证的用户尝试删除另一个用户对象,则会返回详细信息:未找到(因为它正在尝试访问的用户不在查询集中)。