栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在视图集中创建的Django-rest-framework权限

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在视图集中创建的Django-rest-framework权限

自定义get_queryset方法:

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_queryset方法意味着:

  1. 是的,未经身份验证的用户可以发送GET请求以检索用户列表,但该列表为空,因为返回User.objects.filter(id = self.request.user.id)确保仅返回有关经过身份验证的用户的信息。

  2. 对于其他方法也是如此,如果经过身份验证的用户尝试删除另一个用户对象,则会返回详细信息:未找到(因为它正在尝试访问的用户不在查询集中)。

  3. 经过身份验证的用户可以对用户对象执行任何操作。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/626391.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号