          return b64encode(force_bytes(self.value_from_object(obj))).decode('ascii')
  
      def to_python(self, value):
          # If it's a string, it should be base64-encoded data
          if isinstance(value, six.text_type):
              return six.memoryview(b64decode(force_bytes(value)))
          return value
  
  
  class UUIDField(Field):
      default_error_messages = {
 
</s> remove         if isinstance(value, six.string_types) or value is None:
 </s> add         if isinstance(value, str) or value is None: </s> remove         if isinstance(value, six.string_types):
 </s> add         if isinstance(value, str): </s> remove             return self.delimiter.join(six.text_type(self.base_field.prepare_value(v)) for v in value)
 </s> add             return self.delimiter.join(str(self.base_field.prepare_value(v)) for v in value) </s> remove         if isinstance(value, six.string_types):
 </s> add         if isinstance(value, str): </s> remove         if isinstance(value, six.string_types):
 </s> add         if isinstance(value, str):
        if isinstance(value, str):
            return memoryview(b64decode(force_bytes(value)))
          return b64encode(force_bytes(self.value_from_object(obj))).decode('ascii')
  
      def to_python(self, value):
          # If it's a string, it should be base64-encoded data
        if isinstance(value, str):
            return memoryview(b64decode(force_bytes(value)))
        if isinstance(value, str):
            return memoryview(b64decode(force_bytes(value)))
          return value
  
  
  class UUIDField(Field):
      default_error_messages = {
keep keep keep keep replace replace keep keep keep keep keep
 Refs #23919 -- Removed six.<various>_types usage

Thanks Tim Graham and Simon Charette for the reviews. 
django/db/models/fields/__init__.py