Using a permission class on a detail route

前端 未结 3 1574
执笔经年
执笔经年 2021-02-13 16:24

How can I only apply a permission class to a detail route?

class EventViewSet(viewsets.ModelViewSet):

    @detail_route(methods=[\'post\'])
    def messages(sel         


        
3条回答
  •  梦谈多话
    2021-02-13 17:05

    If you have a problem with permissions_classes in your custom actions in the ViewSet, try to use this decorator on your action. Probably the newest Django Rest Framework is not looking at permissions. Solution for this situation is to check it by yourself at the beggining of every custom action or to use following decorator:

    def check_permissions(fun):
        def ref(self, request, pk=None):
            obj = get_object_or_404(self.get_queryset(), pk=pk)
            self.check_object_permissions(self.request, obj)
    
            return fun(self, request, pk)
    
        return ref
    

提交回复
热议问题