相关疑难解决方法(0)

在Django Rest Framework ModelViewSet上删除方法

我试图使用Postman删除单个ManuscriptItem实例,以针对以下视图执行我的API请求:

class ManuscriptViewSet(viewsets.ModelViewSet):
    """Handles creating, reading and updating items."""

    authentication_classes = (TokenAuthentication,)
    serializer_class = serializers.ManuscriptItemSerializer
    permission_classes = (permissions.PostOwnManuscript, IsAuthenticated,)

    def perform_create(self, serializer):
        """Sets the user profile to the logged in user."""
        serializer.save(author=self.request.user)

    def get_queryset(self):
        """
        This view should return a list of all the manuscripts
        for the currently authenticated user.
        """
        user = self.request.user
        return models.ManuscriptItem.objects.filter(author=user)

    def destroy(self, request, *args, **kwargs):
        instance = self.get_object()
        self.perform_destroy(instance)
        return Response(status=status.HTTP_204_NO_CONTENT)

    def perform_destroy(self, instance):
        instance.delete()
Run Code Online (Sandbox Code Playgroud)

破坏和执行破坏功能是我没有成功的尝试.这是我尝试时返回的内容:

{"detail":"方法"DELETE \"不允许." }

这就是我的网址目前注册的方式:

router = DefaultRouter()
router.register('manuscripts', …
Run Code Online (Sandbox Code Playgroud)

django django-models django-views django-rest-framework

3
推荐指数
2
解决办法
2万
查看次数