              )
              # Set some useful local variables
              to_model = resolve_relation(from_model, self.remote_field.model)
              from_model_name = from_model._meta.object_name
              if isinstance(to_model, six.string_types):
                  to_model_name = to_model
              else:
                  to_model_name = to_model._meta.object_name
              relationship_model_name = self.remote_field.through._meta.object_name
              self_referential = from_model == to_model
 
</s> remove                 default = six.text_type()
 </s> add                 default = str() </s> remove         elif isinstance(model, six.string_types):
 </s> add         elif isinstance(model, str): </s> remove                 default = six.binary_type()
 </s> add                 default = bytes() </s> remove         elif f.geom_type == 'RASTER' and isinstance(value, six.string_types):
 </s> add         elif f.geom_type == 'RASTER' and isinstance(value, str): </s> remove     if not isinstance(viewname, six.string_types):
 </s> add     if not isinstance(viewname, str):
            if isinstance(to_model, str):
              )
              # Set some useful local variables
              to_model = resolve_relation(from_model, self.remote_field.model)
              from_model_name = from_model._meta.object_name
            if isinstance(to_model, str):
                  to_model_name = to_model
              else:
                  to_model_name = to_model._meta.object_name
              relationship_model_name = self.remote_field.through._meta.object_name
              self_referential = from_model == to_model
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/models/fields/related.py