  
          # In order to enforce a consistent style, we error if a redundant
          # 'source' argument has been used. For example:
          # my_field = serializer.CharField(source='my_field')
          assert self._kwargs.get('source') != field_name, (
              "It is redundant to specify `source='%s'` on field '%s' in "
              "serializer '%s', because it is the same as the field name. "
              "Remove the `source` keyword argument." %
              (field_name, self.__class__.__name__, parent.__class__.__name__)
          )
 
</s> remove     def __init__(self, method_attr=None, **kwargs):
        self.method_attr = method_attr
 </s> add     def __init__(self, method_name=None, **kwargs):
        self.method_name = method_name </s> remove         method_attr = self.method_attr
        if method_attr is None:
            method_attr = 'get_{field_name}'.format(field_name=self.field_name)
        method = getattr(self.parent, method_attr)
 </s> add         method = getattr(self.parent, self.method_name)
        assert self.source != field_name, (
  
          # In order to enforce a consistent style, we error if a redundant
          # 'source' argument has been used. For example:
          # my_field = serializer.CharField(source='my_field')
        assert self.source != field_name, (
              "It is redundant to specify `source='%s'` on field '%s' in "
              "serializer '%s', because it is the same as the field name. "
              "Remove the `source` keyword argument." %
              (field_name, self.__class__.__name__, parent.__class__.__name__)
          )
keep keep keep keep replace keep keep keep keep keep
 Check for redundant  on SerializerMethodField 
rest_framework/fields.py