如何在视图集中的django REST中仅对PUT请求设置身份验证和权限?

时间:2018-10-07 15:52:13

标签: django django-rest-framework django-rest-auth django-rest-viewsets

我有一个viewset的{​​{1}}子类,接下来我添加:

modelviewset

然后,在列出,详细/检索和放置请求时收到以下消息。

  

“详细信息”:“未提供身份验证凭据。”

我应该更改什么以仅在更新数据时给出此消息?

1 个答案:

答案 0 :(得分:2)

get_permissions类上覆盖ModelViewSet方法。

示例

class FooViewSet(ModelViewSet):
    authentication_classes = (SessionAuthentication, BasicAuthentication, )
    permission_classes = (IsAuthenticated, )

    def get_permissions(self):
        if self.request.method != 'PUT':
            return []
        return super().get_permissions()