      elif isinstance(value, datetime.datetime):
          return formats.localize(timezone.template_localtime(value))
      elif isinstance(value, (datetime.date, datetime.time)):
          return formats.localize(value)
      elif isinstance(value, six.integer_types + (decimal.Decimal, float)):
          return formats.number_format(value)
      elif isinstance(value, (list, tuple)):
          return ', '.join(force_text(v) for v in value)
      else:
          return force_text(value)
 
</s> remove         return mark_safe(six.text_type(value))
    elif isinstance(value, (decimal.Decimal, float) + six.integer_types):
 </s> add         return mark_safe(str(value))
    elif isinstance(value, (decimal.Decimal, float, int)): </s> remove         return six.text_type(value)
    elif isinstance(value, (decimal.Decimal, float) + six.integer_types):
 </s> add         return str(value)
    elif isinstance(value, (decimal.Decimal, float, int)): </s> remove         elif isinstance(value, six.string_types):
            return "'%s'" % six.text_type(value).replace("\'", "\'\'")
        elif isinstance(value, six.buffer_types):
 </s> add         elif isinstance(value, str):
            return "'%s'" % value.replace("\'", "\'\'")
        elif isinstance(value, (bytes, bytearray, memoryview)): </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         elif isinstance(value, six.integer_types + six.string_types):
 </s> add         elif isinstance(value, (int, str)):
    elif isinstance(value, (int, decimal.Decimal, float)):
      elif isinstance(value, datetime.datetime):
          return formats.localize(timezone.template_localtime(value))
      elif isinstance(value, (datetime.date, datetime.time)):
          return formats.localize(value)
    elif isinstance(value, (int, decimal.Decimal, float)):
          return formats.number_format(value)
      elif isinstance(value, (list, tuple)):
          return ', '.join(force_text(v) for v in value)
      else:
          return force_text(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/contrib/admin/utils.py