          # Convert params to contain Unicode values.
          def to_unicode(s):
              return force_text(s, strings_only=True, errors='replace')
          if isinstance(params, (list, tuple)):
              u_params = tuple(to_unicode(val) for val in params)
          elif params is None:
              u_params = ()
          else:
              u_params = {to_unicode(k): to_unicode(v) for k, v in params.items()}
  
 
</s> remove         # Convert params to contain Unicode values.
        def to_unicode(s):
 </s> add         # Convert params to contain string values.
        def to_string(s): </s> remove             u_params = {to_unicode(k): to_unicode(v) for k, v in params.items()}
 </s> add             u_params = {to_string(k): to_string(v) for k, v in params.items()} </s> remove         return six.text_type("QUERY = %r - PARAMS = %r") % (sql, u_params)
 </s> add         return "QUERY = %r - PARAMS = %r" % (sql, u_params) </s> remove                 v = six.text_type(v)
 </s> add                 v = str(v) </s> remove                 val = six.text_type(val)
 </s> add                 val = str(val)
            u_params = tuple(to_string(val) for val in params)
          # Convert params to contain Unicode values.
          def to_unicode(s):
              return force_text(s, strings_only=True, errors='replace')
          if isinstance(params, (list, tuple)):
            u_params = tuple(to_string(val) for val in params)
          elif params is None:
              u_params = ()
          else:
              u_params = {to_unicode(k): to_unicode(v) for k, v in params.items()}
  
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/db/backends/base/operations.py