Как вызвать сериализатор Django REST внутри обновления?

Я пытаюсь заставить свой метод обновления добавить ссылку в список ссылок. Проблема в том, что ответом на запрос PATCH является OrderedDict, и я бы предпочел, чтобы он был сериализован. Я пытался вызвать свой сериализатор внутри метода update, но я не уверен, как получить информацию для поля data LinkListSerializer, поэтому в итоге я получаю

Невозможно вызвать .is_valid(), так как при инстанцировании экземпляра сериализатора не был передан аргумент ключевого слова data=.

Любой совет будет признателен, вот мой код:

class LinkListViewSet(viewsets.ModelViewSet,
                  generics.RetrieveUpdateDestroyAPIView):
    queryset = LinkList.objects.all()
    serializer_class = LinkListSerializer
    filter_backends = [IsOwnerOrPublicFilter]
    permission_classes = [IsOwnerOrPublic]

    def update(self, request, *args, **kwargs):
        new_link, created = Link.objects.update_or_create(
            link=request.data.get('links'),
            defaults={'link': request.data.get('link')},
        ) 
        instance = self.get_object()
        if created:
            instance.links.add(new_link)
        instance.save()
        return Response(status=status.HTTP_200_OK)

Serializer:

class LinkListSerializer(serializers.ModelSerializer):
    url = serializers.HyperlinkedIdentityField(view_name="lists-detail")
    owner = serializers.HiddenField(default=serializers.CurrentUserDefault())
    links = LinkSerializer(read_only=True, many=True)

    class Meta:
        model = LinkList
        fields = ['url', 'owner', 'name', 'public', 'links', 'description']
Вернуться на верх