From c06dbb61613c4d01266a125b405edd1c00e95e9a Mon Sep 17 00:00:00 2001 From: Ernesto Rico Schmidt <ernesto@helsinki.at> Date: Tue, 9 Aug 2022 15:53:44 -0400 Subject: [PATCH] Fix APIHostViewSet, add partial_update method --- program/views.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/program/views.py b/program/views.py index ce644d46..7c852a67 100644 --- a/program/views.py +++ b/program/views.py @@ -838,14 +838,23 @@ class APIHostViewSet(ActiveFilterMixin, viewsets.ModelViewSet): serializer.save() return Response(serializer.data, status=status.HTTP_201_CREATED) else: - Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) + return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) def update(self, request, *args, **kwargs): + partial = kwargs.get("partial", False) + host = self.get_object() serializer = HostSerializer( - data=request.data, context={"updated_by": request.user.username} + host, + data=request.data, + context={"updated_by": request.user.username}, + partial=partial, ) if serializer.is_valid(): serializer.save() - return Response(serializer.data, status=status.HTTP_201_CREATED) + return Response(serializer.data, status=status.HTTP_200_OK) else: - Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) + return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) + + def partial_update(self, request, *args, **kwargs): + kwargs["partial"] = True + return self.update(request, *args, **kwargs) -- GitLab