mirror of
				https://github.com/encode/django-rest-framework.git
				synced 2025-10-31 07:57:55 +03:00 
			
		
		
		
	refactor removing parameters from kwargs when creating a ListSerializer (#9245)
* refactor removing parameters from kwargs when creating a ListSerializer * insert child * small rewrite --------- Co-authored-by: Willem Van Onsem <willem.vanonsem@prosafco.be>
This commit is contained in:
		
							parent
							
								
									37ec04d518
								
							
						
					
					
						commit
						a45432b54d
					
				|  | @ -76,6 +76,7 @@ LIST_SERIALIZER_KWARGS = ( | |||
|     'instance', 'data', 'partial', 'context', 'allow_null', | ||||
|     'max_length', 'min_length' | ||||
| ) | ||||
| LIST_SERIALIZER_KWARGS_REMOVE = ('allow_empty', 'min_length', 'max_length') | ||||
| 
 | ||||
| ALL_FIELDS = '__all__' | ||||
| 
 | ||||
|  | @ -145,19 +146,12 @@ class BaseSerializer(Field): | |||
|             kwargs['child'] = cls() | ||||
|             return CustomListSerializer(*args, **kwargs) | ||||
|         """ | ||||
|         allow_empty = kwargs.pop('allow_empty', None) | ||||
|         max_length = kwargs.pop('max_length', None) | ||||
|         min_length = kwargs.pop('min_length', None) | ||||
|         child_serializer = cls(*args, **kwargs) | ||||
|         list_kwargs = { | ||||
|             '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 = {} | ||||
|         for key in LIST_SERIALIZER_KWARGS_REMOVE: | ||||
|             value = kwargs.pop(key, None) | ||||
|             if value is not None: | ||||
|                 list_kwargs[key] = value | ||||
|         list_kwargs['child'] = cls(*args, **kwargs) | ||||
|         list_kwargs.update({ | ||||
|             key: value for key, value in kwargs.items() | ||||
|             if key in LIST_SERIALIZER_KWARGS | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	Block a user