              to_validate = self._read_only_defaults()
              to_validate.update(value)
          else:
              to_validate = value
          super(Serializer, self).run_validators(to_validate)
  
      def to_internal_value(self, data):
          """
          Dict of native values <- Dict of primitive datatypes.
          """
 
</s> remove         if isinstance(data, (six.text_type, Mapping)) or not hasattr(data, '__iter__'):
 </s> add         if isinstance(data, (str, Mapping)) or not hasattr(data, '__iter__'): </s> remove         if style.get('input_type') == 'datetime-local' and isinstance(field.value, six.text_type):
 </s> add         if style.get('input_type') == 'datetime-local' and isinstance(field.value, str): </s> remove         return six.text_type(attr)
 </s> add         return str(attr) </s> remove                 kwargs = super(NestedPointSerializer, self).to_internal_value(data)
 </s> add                 kwargs = super().to_internal_value(data) </s> remove         super(ManualSchema, self).__init__()
 </s> add         super().__init__()
        super().run_validators(to_validate)
              to_validate = self._read_only_defaults()
              to_validate.update(value)
          else:
              to_validate = value
        super().run_validators(to_validate)
  
      def to_internal_value(self, data):
          """
          Dict of native values <- Dict of primitive datatypes.
          """
keep keep keep keep replace keep keep keep keep keep
 Dropped Python 2 compatibility. (#6615)

Thanks to Jon Dufresne (@jdufresne) for review.

Co-authored-by: Asif Saif Uddin <auvipy@gmail.com>
Co-authored-by: Rizwan Mansuri <Rizwan@webbyfox.com> 
rest_framework/serializers.py