Skip to content

Commit fc9555a

Browse files
arthansonjeremystretch
authored andcommitted
7503 fix return data for bulk operations
1 parent b645b6d commit fc9555a

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

netbox/dcim/api/views.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -418,14 +418,21 @@ def get_serializer_class(self):
418418
@transaction.atomic
419419
def create(self, request, *args, **kwargs):
420420
# do validate / create for each item in serial instead of validating all data at once
421-
data_list = request.data if isinstance(request.data, list) else [request.data, ]
421+
if is_bulk := isinstance(request.data, list):
422+
return_data = []
423+
data_list = request.data if is_bulk else [request.data, ]
422424

423425
for data in data_list:
424426
serializer = self.get_serializer(data=data)
425427
serializer.is_valid(raise_exception=True)
426428
self.perform_create(serializer)
427429
headers = self.get_success_headers(serializer.data)
428-
return Response(serializer.data, status=status.HTTP_201_CREATED, headers=headers)
430+
if is_bulk:
431+
return_data.append(serializer.data)
432+
else:
433+
return_data = serializer.data
434+
435+
return Response(return_data, status=status.HTTP_201_CREATED, headers=headers)
429436

430437
@action(detail=True, methods=['post'], url_path='render-config', renderer_classes=[JSONRenderer, TextRenderer])
431438
def render_config(self, request, pk):

0 commit comments

Comments
 (0)