mirror of
				https://github.com/encode/django-rest-framework.git
				synced 2025-11-01 00:17:40 +03:00 
			
		
		
		
	Add child to ListField when using ArrayField
This commit is contained in:
		
							parent
							
								
									b844cc4bb6
								
							
						
					
					
						commit
						48fa77c09e
					
				|  | @ -986,15 +986,25 @@ class ModelSerializer(Serializer): | |||
|             # Fields with choices get coerced into `ChoiceField` | ||||
|             # instead of using their regular typed field. | ||||
|             field_class = ChoiceField | ||||
| 
 | ||||
|         if not issubclass(field_class, ModelField): | ||||
|             # `model_field` is only valid for the fallback case of | ||||
|             # `ModelField`, which is used when no other typed field | ||||
|             # matched to the model field. | ||||
|             field_kwargs.pop('model_field', None) | ||||
| 
 | ||||
|         if not issubclass(field_class, CharField) and not issubclass(field_class, ChoiceField): | ||||
|             # `allow_blank` is only valid for textual fields. | ||||
|             field_kwargs.pop('allow_blank', None) | ||||
| 
 | ||||
|         if postgres_fields and isinstance(model_field, postgres_fields.ArrayField): | ||||
|             child_model_field = model_field.base_field.base_field | ||||
|             child_field_class, child_field_kwargs = self.build_standard_field( | ||||
|                 'child', child_model_field | ||||
|             ) | ||||
| 
 | ||||
|             field_kwargs['child'] = child_field_class(**child_field_kwargs) | ||||
| 
 | ||||
|         return field_class, field_kwargs | ||||
| 
 | ||||
|     def build_relational_field(self, field_name, relation_info): | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	Block a user