Прежде всего, почему вы удаляете и создаете одну и ту же запись каждый раз, когда вы обновляете.Я не знаю, что именно ты делаешь, но это не обязательно и трата времени.Используйте приведенный ниже код, он будет работать как для Update
, так и для Patch
методов.
def update(self, request, *args, **kwargs):
partial = kwargs.pop('partial', False)
instance = self.get_object()
serializer = self.get_serializer(instance, data=request.data, partial=partial)
serializer.is_valid(raise_exception=True)
self.perform_update(serializer)
return Response(serializer.data)
PUT - Вам необходимо отправить все ожидаемые записи в сериализаторе.
PATCH - Отправьте id
и обязательные поля для обновления.
Для дальнейшего ознакомления см. Это