      def fields(self):
          """
          A dictionary of {field_name: field_instance}.
          """
          # `fields` is evalutated lazily. We do this to ensure that we don't
          # have issues importing modules that use ModelSerializers as fields,
          # even if Django's app-loading stage has not yet run.
          if not hasattr(self, '_fields'):
              self._fields = BindingDict(self)
              for key, value in self.get_fields().items():
 
</s> remove import copy
import inspect
import warnings
 </s> add  </s> remove             # Get the model field that is refered too.
 </s> add             # Get the model field that is referred too. </s> remove             # a 404 reponse.
 </s> add             # a 404 response. </s> remove         # The suffix initkwarg is reserved for identifing the viewset type
 </s> add         # The suffix initkwarg is reserved for identifying the viewset type </s> remove         # types might return a non-primative value for the pk otherwise.
 </s> add         # types might return a non-primitive value for the pk otherwise.
        # `fields` is evaluated lazily. We do this to ensure that we don't
      def fields(self):
          """
          A dictionary of {field_name: field_instance}.
          """
        # `fields` is evaluated lazily. We do this to ensure that we don't
          # have issues importing modules that use ModelSerializers as fields,
          # even if Django's app-loading stage has not yet run.
          if not hasattr(self, '_fields'):
              self._fields = BindingDict(self)
              for key, value in self.get_fields().items():
keep keep keep keep replace keep keep keep keep keep
 Removed unused imports, pep8 fixes, typo fixes 
rest_framework/serializers.py