Как написать json для патча на Django REST Framework

У меня есть кнопочная форма PATCH на ModelViewSet

enter image description here

class CompanyViewSet(viewsets.ModelViewSet):
    serializer_class = s.CompanySerializer   
    queryset = m.Company.objects.all()
    def patch(self, request, id, format=None):
        print(id)

Теперь я пытаюсь изменить существующие данные id = 1

Так что я пишу это в textarea и нажимаю кнопку PATCH.

{
    "id":1,
    "name": ""
}

Однако, возникает ошибка типа

patch() missing 1 required positional argument: 'id'

Возможно, мой json неправильный? Как я могу сделать PATCH?

patch() missing 1 required positional argument: 'id'

Используйте perform_update следующим образом :

class CompanyViewSet(viewsets.ModelViewSet):
serializer_class = s.CompanySerializer   
queryset = m.Company.objects.all() 

def perform_update(self, serializer):
    instance = serializer.instance
    request = self.request
    serializer.save(**modified_attrs)
    return Response(status=status.HTTP_200_OK)
Вернуться на верх