Merge pull request #4688 from theosotr/feature-source

Support usage of 'source' in `extra_kwargs`.
This commit is contained in:
Tom Christie 2017-03-13 10:25:38 +00:00 committed by GitHub
commit 2df80c3c9d

View File

@ -999,13 +999,15 @@ class ModelSerializer(Serializer):
fields[field_name] = declared_fields[field_name] fields[field_name] = declared_fields[field_name]
continue continue
extra_field_kwargs = extra_kwargs.get(field_name, {})
source = extra_field_kwargs.get('source') or field_name
# Determine the serializer field class and keyword arguments. # Determine the serializer field class and keyword arguments.
field_class, field_kwargs = self.build_field( field_class, field_kwargs = self.build_field(
field_name, info, model, depth source, info, model, depth
) )
# Include any kwargs defined in `Meta.extra_kwargs` # Include any kwargs defined in `Meta.extra_kwargs`
extra_field_kwargs = extra_kwargs.get(field_name, {})
field_kwargs = self.include_extra_kwargs( field_kwargs = self.include_extra_kwargs(
field_kwargs, extra_field_kwargs field_kwargs, extra_field_kwargs
) )