                  continue
  
              # Determine the serializer field class and keyword arguments.
              field_class, field_kwargs = self.build_field(
                  field_name, info, model, depth
              )
  
              # Include any kwargs defined in `Meta.extra_kwargs`
              extra_field_kwargs = extra_kwargs.get(field_name, {})
              field_kwargs = self.include_extra_kwargs(
 
</s> remove             extra_field_kwargs = extra_kwargs.get(field_name, {})
 </s> add 
                source, info, model, depth
                  continue
  
              # Determine the serializer field class and keyword arguments.
              field_class, field_kwargs = self.build_field(
                source, info, model, depth
              )
  
              # Include any kwargs defined in `Meta.extra_kwargs`
              extra_field_kwargs = extra_kwargs.get(field_name, {})
              field_kwargs = self.include_extra_kwargs(
keep keep keep keep replace keep keep keep keep keep
 Do not ignore source when building fields dynamically

This commit fixes the issue when you set the keyword argument `source`
and your have not set the serializer fields explicitly. Then the
construction of field failed because there is not actually any model
field with that name.

However, you are still able to imply the name of model field by
providing the `source` keyword argument. 
rest_framework/serializers.py