M: Allow partial attribute updates
Some checks failed
Frontend CI / build (22.x) (push) Waiting to run
Frontend CI / notify-failure (push) Blocked by required conditions
Backend CI / build (3.12) (push) Has been cancelled
Backend CI / notify-failure (push) Has been cancelled

This commit is contained in:
Ivan 2025-04-22 14:23:53 +03:00
parent 386a3b5bf5
commit 0d5d42a252

View File

@ -169,9 +169,12 @@ class OssViewSet(viewsets.GenericViewSet, generics.ListAPIView, generics.Retriev
with transaction.atomic(): with transaction.atomic():
if 'layout' in serializer.validated_data: if 'layout' in serializer.validated_data:
oss.update_layout(serializer.validated_data['layout']) oss.update_layout(serializer.validated_data['layout'])
block.title = serializer.validated_data['item_data']['title'] if 'title' in serializer.validated_data['item_data']:
block.description = serializer.validated_data['item_data']['description'] block.title = serializer.validated_data['item_data']['title']
block.parent = serializer.validated_data['item_data']['parent'] if 'description' in serializer.validated_data['item_data']:
block.description = serializer.validated_data['item_data']['description']
if 'parent' in serializer.validated_data['item_data']:
block.parent = serializer.validated_data['item_data']['parent']
block.save(update_fields=['title', 'description', 'parent']) block.save(update_fields=['title', 'description', 'parent'])
return Response( return Response(
status=c.HTTP_200_OK, status=c.HTTP_200_OK,
@ -297,9 +300,12 @@ class OssViewSet(viewsets.GenericViewSet, generics.ListAPIView, generics.Retriev
with transaction.atomic(): with transaction.atomic():
if 'layout' in serializer.validated_data: if 'layout' in serializer.validated_data:
oss.update_layout(serializer.validated_data['layout']) oss.update_layout(serializer.validated_data['layout'])
operation.alias = serializer.validated_data['item_data']['alias'] if 'alias' in serializer.validated_data['item_data']:
operation.title = serializer.validated_data['item_data']['title'] operation.alias = serializer.validated_data['item_data']['alias']
operation.description = serializer.validated_data['item_data']['description'] if 'title' in serializer.validated_data['item_data']:
operation.title = serializer.validated_data['item_data']['title']
if 'description' in serializer.validated_data['item_data']:
operation.description = serializer.validated_data['item_data']['description']
operation.save(update_fields=['alias', 'title', 'description']) operation.save(update_fields=['alias', 'title', 'description'])
if operation.result is not None: if operation.result is not None: