          if inverse_match is not None:
              self.inverse_match = inverse_match
          if flags is not None:
              self.flags = flags
          if self.flags and not isinstance(self.regex, six.string_types):
              raise TypeError("If the flags are set, regex must be a regular expression string.")
  
          self.regex = _lazy_re_compile(self.regex, self.flags)
  
      def __call__(self, value):
 
</s> remove             # Class names must be ASCII in Python 2.x, so we forcibly coerce it
            # here to break early if there's a problem.
            to = str(to)
 </s> add  </s> remove         return six.text_type(value)
 </s> add         return str(value) </s> remove         if isinstance(instance._regex, six.string_types):
 </s> add         if isinstance(instance._regex, str): </s> remove         if isinstance(srid, six.integer_types) or srid is None:
 </s> add         if isinstance(srid, int) or srid is None: </s> remove         if isinstance(regex, six.string_types):
 </s> add         if isinstance(regex, str):
        if self.flags and not isinstance(self.regex, str):
          if inverse_match is not None:
              self.inverse_match = inverse_match
          if flags is not None:
              self.flags = flags
        if self.flags and not isinstance(self.regex, str):
              raise TypeError("If the flags are set, regex must be a regular expression string.")
  
          self.regex = _lazy_re_compile(self.regex, self.flags)
  
      def __call__(self, value):
keep keep keep keep replace keep keep keep keep keep
 Refs #23919 -- Removed six.<various>_types usage

Thanks Tim Graham and Simon Charette for the reviews. 
django/core/validators.py