          Return the dict of field names -> field instances that should be
          used for `self.fields` when instantiating the serializer.
          """
          declared_fields = copy.deepcopy(self._declared_fields)
          model = getattr(self.Meta, 'model')
          depth = getattr(self.Meta, 'depth', 0)
  
          if depth is not None:
 
</s> remove         # Now determine the fields that should be included on the serializer.
        ret = OrderedDict()
 </s> add         # Determine the fields that should be included on the serializer.
        fields = OrderedDict()
 </s> remove                 # Field is explicitly declared on the class, use that.
                ret[field_name] = declared_fields[field_name]
 </s> add                 fields[field_name] = declared_fields[field_name] </s> remove         ret.update(hidden_fields)
 </s> add         fields.update(hidden_fields) </s> remove                 model = relation_info.related
                depth = nested_depth - 1
 </s> add                 model = relation_info.related_model
                depth = nested_depth
        assert hasattr(self, 'Meta'), (
            'Class {serializer_class} missing "Meta" attribute'.format(
                serializer_class=self.__class__.__name__
            )
        )
        assert hasattr(self.Meta, 'model'), (
            'Class {serializer_class} missing "Meta.model" attribute'.format(
                serializer_class=self.__class__.__name__
            )
        )

          Return the dict of field names -> field instances that should be
          used for `self.fields` when instantiating the serializer.
          """
        assert hasattr(self, 'Meta'), (
            'Class {serializer_class} missing "Meta" attribute'.format(
                serializer_class=self.__class__.__name__
            )
        )
        assert hasattr(self.Meta, 'model'), (
            'Class {serializer_class} missing "Meta.model" attribute'.format(
                serializer_class=self.__class__.__name__
            )
        )

          declared_fields = copy.deepcopy(self._declared_fields)
          model = getattr(self.Meta, 'model')
          depth = getattr(self.Meta, 'depth', 0)
  
          if depth is not None:
keep keep add keep keep keep keep keep
 Final bits of docs for ModelSerializer fields API 
rest_framework/serializers.py