Как написать json для патча на Django REST Framework
У меня есть кнопочная форма PATCH
на ModelViewSet
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)