refactor removing parameters from kwargs when creating a ListSerializer

This commit is contained in:
Willem Van Onsem 2024-01-29 12:54:42 +01:00
parent 41edb3b9dd
commit 094521c8d8

View File

@ -76,6 +76,7 @@ LIST_SERIALIZER_KWARGS = (
'instance', 'data', 'partial', 'context', 'allow_null', 'instance', 'data', 'partial', 'context', 'allow_null',
'max_length', 'min_length' 'max_length', 'min_length'
) )
LIST_SERIALIZER_KWARGS_REMOVE = ('allow_empty', 'min_length', 'max_length')
ALL_FIELDS = '__all__' ALL_FIELDS = '__all__'
@ -145,19 +146,15 @@ class BaseSerializer(Field):
kwargs['child'] = cls() kwargs['child'] = cls()
return CustomListSerializer(*args, **kwargs) return CustomListSerializer(*args, **kwargs)
""" """
allow_empty = kwargs.pop('allow_empty', None) list_kwargs = {}
max_length = kwargs.pop('max_length', None) for key in LIST_SERIALIZER_KWARGS_REMOVE:
min_length = kwargs.pop('min_length', None) value = kwargs.pop(key, None)
if value is not None:
list_kwargs[key] = value
child_serializer = cls(*args, **kwargs) child_serializer = cls(*args, **kwargs)
list_kwargs = { list_kwargs = {
'child': child_serializer, 'child': child_serializer,
} }
if allow_empty is not None:
list_kwargs['allow_empty'] = allow_empty
if max_length is not None:
list_kwargs['max_length'] = max_length
if min_length is not None:
list_kwargs['min_length'] = min_length
list_kwargs.update({ list_kwargs.update({
key: value for key, value in kwargs.items() key: value for key, value in kwargs.items()
if key in LIST_SERIALIZER_KWARGS if key in LIST_SERIALIZER_KWARGS