          except DjangoValidationError as exc:
              # Normally you should raise `serializers.ValidationError`
              # inside your codebase, but we handle Django's validation
              # exception class as well for simpler compat.
              # Eg. Calling Model.clean() explictily inside Serializer.validate()
              raise ValidationError({
                  api_settings.NON_FIELD_ERRORS_KEY: list(exc.messages)
              })
  
          return value
 
</s> remove         # `fields` is evalutated lazily. We do this to ensure that we don't
 </s> add         # `fields` is evaluated lazily. We do this to ensure that we don't </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. </s> remove             # also explicity included in `Meta.fields`.
 </s> add             # also explicitly included in `Meta.fields`. </s> remove     don't need to dig into the implemention.
 </s> add     don't need to dig into the implementation. </s> remove             # a 404 reponse.
 </s> add             # a 404 response.
            # Eg. Calling Model.clean() explicitly inside Serializer.validate()
          except DjangoValidationError as exc:
              # Normally you should raise `serializers.ValidationError`
              # inside your codebase, but we handle Django's validation
              # exception class as well for simpler compat.
            # Eg. Calling Model.clean() explicitly inside Serializer.validate()
              raise ValidationError({
                  api_settings.NON_FIELD_ERRORS_KEY: list(exc.messages)
              })
  
          return value
keep keep keep keep replace keep keep keep keep keep
 Removed unused imports, pep8 fixes, typo fixes 
rest_framework/serializers.py