formatted list serializer errors in dict format

This commit is contained in:
Pravin Kamble 2025-11-25 15:13:27 +05:30
parent 2159bfd877
commit c95a7aa40a
2 changed files with 7 additions and 6 deletions

View File

@ -688,18 +688,19 @@ class ListSerializer(BaseSerializer):
}, code='min_length')
ret = []
errors = []
errors = {}
index = 0
for item in data:
try:
validated = self.run_child_validation(item)
except ValidationError as exc:
errors.append(exc.detail)
errors[index] = exc.detail
else:
ret.append(validated)
errors.append({})
index += 1
if any(errors):
if errors:
raise ValidationError(errors)
return ret

View File

@ -781,7 +781,7 @@ class TestListSerializerDictErrorBehavior:
"""
Tests for the proposed dict-based error structure for ListSerializer,
and consistency with ListField.
https://github.com/encode/django-rest-framework/issues/7279
"""
@ -847,7 +847,7 @@ class TestListSerializerDictErrorBehavior:
assert isinstance(errors["list_serializer"], dict)
assert isinstance(errors["list_field"], dict)
assert set(errors["list_serializer"].keys()) == {0, 1,}
assert set(errors["list_serializer"].keys()) == {1,3}
assert set(errors["list_field"].keys()) == {1, 3}
assert errors["list_serializer"][1] == {