Метод DRF GET не разрешен для функции, основанной на @action

У меня есть две модели: Article и Comment. У меня есть набор представлений ArticleAPI, в котором есть методы, украшенные @action для обработки запросов к модели комментариев, но когда я пытаюсь протестировать эту конечную точку через Postman, я получаю ошибку:

{
    "detail": "Method \"GET\" not allowed."
}

ArticleAPI.py

class ArticleAPI(viewsets.ModelViewSet):
    serializer_class = ArticleSerializer
    permission_classes = [
        permissions.IsAuthenticatedOrReadOnly
    ]
    queryset = Article.objects.order_by('number')
    lookup_field = 'pk'

    ...

    @action(methods=['GET'], detail=True,
            url_path='comments', url_name='article-comments-list')
    def get_comments_queryset(self, request):
        instance = self.get_object()
        serializer = CommentSerializer(queryset=instance.comment_set.all(), many=True)
        return Response(serializer.data)

    @action(methods=['GET'], detail=True,
            url_path='comments', url_name='article-comments-object')
    def get_comment_object(self, request, pk=None):
        instance = self.get_object()
        serializer = CommentSerializer(queryset=instance.comment_set.get(pk=pk))
        return Response(serializer.data)

urls.py

router = DefaultRouter()
router.register('articles', articleAPI.ArticleAPI, basename='articles')
Вернуться на верх