Refactor get_initial for list input handlingFix ListSerializer.get_initial to return consistent initial list structure

Modify get_initial to return a consistent list format when initial_data is a list.
This commit is contained in:
shrajal01 2025-11-10 22:15:58 +05:30 committed by GitHub
parent 365d409adb
commit 7166a78520
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -608,10 +608,15 @@ class ListSerializer(BaseSerializer):
super().__init__(*args, **kwargs)
self.child.bind(field_name='', parent=self)
def get_initial(self):
if hasattr(self, 'initial_data'):
return self.to_representation(self.initial_data)
def get_initial(self):
if hasattr(self, 'initial_data'):
# If data is given, we should just return the raw input structure,
# but ensure it's represented in a consistent list format.
if isinstance(self.initial_data, list):
return [self.child.get_initial() for _ in self.initial_data]
return []
return []
def get_value(self, dictionary):
"""