gpt4 book ai didi

django - Django REST Framework 中的每个字段权限

转载 作者:行者123 更新时间:2023-11-28 19:36:05 27 4
gpt4 key购买 nike

我正在使用 Django REST Framework 序列化 Django 模型。我有一个 ListCreateAPIView View 来列出对象,还有一个 RetrieveUpdateDestroyAPIView View 来检索/更新/删除单个对象。该模型存储用户自己提交的信息。他们提交的信息包含一些私有(private)信息和一些公共(public)信息。我希望所有用户都能够列出和检索公共(public)信息,但我只希望所有者列出/检索/更新/删除私有(private)信息。因此,我需要每个字段的权限而不是对象权限。

我找到的最接近的建议是 https://groups.google.com/forum/#!topic/django-rest-framework/FUd27n_k3U0它根据请求类型更改序列化程序。这不适用于我的情况,因为此时我没有查询集或对象来确定它是否归用户所有。

当然,我的前端隐藏了私有(private)信息,但聪明的人仍然可以窥探 API 请求以获取完整的对象。如果需要代码,我可以提供它,但我的请求适用于 vanilla Django REST Framework 设计。

最佳答案

如何根据用户切换序列化器类?

在文档中:

http://www.django-rest-framework.org/api-guide/generic-views/#get_serializer_classself

def get_serializer_class(self):
if self.request.user.is_staff:
return FullAccountSerializer
return BasicAccountSerializer

关于django - Django REST Framework 中的每个字段权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19128793/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com