  from django.utils import six
  
  
  def make_model_tuple(model):
      """
      Takes a model or a string of the form "app_label.ModelName" and returns a
      corresponding ("app_label", "modelname") tuple. If a tuple is passed in,
      it's assumed to be a valid model tuple already and returned unchanged.
 
</s> remove         if isinstance(dr_input, six.string_types):
 </s> add         if isinstance(dr_input, str): </s> remove             assert isinstance(to, six.string_types), (
 </s> add             assert isinstance(to, str), ( </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             assert isinstance(to, six.string_types), (
 </s> add             assert isinstance(to, str), ( </s> remove         if not isinstance(query, six.string_types):
 </s> add         if not isinstance(query, str):



  def make_model_tuple(model):
      """
      Takes a model or a string of the form "app_label.ModelName" and returns a
      corresponding ("app_label", "modelname") tuple. If a tuple is passed in,
      it's assumed to be a valid model tuple already and returned unchanged.
replace 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/utils.py