          return kwargs
  
      def get_new_connection(self, conn_params):
          conn = Database.connect(**conn_params)
          conn.encoders[SafeText] = conn.encoders[six.text_type]
          conn.encoders[SafeBytes] = conn.encoders[bytes]
          return conn
  
      def init_connection_state(self):
          assignments = []
 
</s> remove     if not isinstance(viewname, six.string_types):
 </s> add     if not isinstance(viewname, str): </s> remove         if isinstance(value, six.string_types):
 </s> add         if isinstance(value, str): </s> remove         rel_is_string = isinstance(self.remote_field.model, six.string_types)
 </s> add         rel_is_string = isinstance(self.remote_field.model, str) </s> remove         if not isinstance(string_if_invalid, six.string_types):
 </s> add         if not isinstance(string_if_invalid, str): </s> remove             if isinstance(r, six.string_types):
 </s> add             if isinstance(r, str):
        conn.encoders[SafeText] = conn.encoders[str]
          return kwargs
  
      def get_new_connection(self, conn_params):
          conn = Database.connect(**conn_params)
        conn.encoders[SafeText] = conn.encoders[str]
          conn.encoders[SafeBytes] = conn.encoders[bytes]
          return conn
  
      def init_connection_state(self):
          assignments = []
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/mysql/base.py