diff --git a/program/views.py b/program/views.py index 7c852a674690617d41f38ea43c0d844c1aeab8d1..875368a29b4e9cbc3656ebaa30c3872d376554bb 100644 --- a/program/views.py +++ b/program/views.py @@ -315,9 +315,13 @@ class APIShowViewSet(DisabledObjectPermissionCheckMixin, viewsets.ModelViewSet): ): return Response(status=status.HTTP_401_UNAUTHORIZED) + partial = kwargs.get("partial", False) show = self.get_object() serializer = ShowSerializer( - show, data=request.data, context={"updated_by": request.user.username} + show, + data=request.data, + context={"updated_by": request.user.username}, + partial=partial, ) if serializer.is_valid(): @@ -329,6 +333,10 @@ class APIShowViewSet(DisabledObjectPermissionCheckMixin, viewsets.ModelViewSet): 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) + def destroy(self, request, *args, **kwargs): """ Only admins may delete shows.