  
  from django.db.models.utils import make_model_tuple
  from django.dispatch import Signal
  from django.utils.deprecation import RemovedInDjango20Warning
  
  
  class_prepared = Signal(providing_args=["class"])
 
</s> remove         # import models here to avoid a circular import
        from django.db import models
        if isinstance(sender, models.Model) or sender is None:
            # Skip lazy_model_operation to get a return value for disconnect()
 </s> add         if isinstance(sender, six.string_types):
            apps = apps or Options.default_apps
            apps.lazy_model_operation(partial_method, make_model_tuple(sender))
        else: </s> remove         apps = apps or models.base.Options.default_apps
        apps.lazy_model_operation(partial_method, make_model_tuple(sender))
 </s> add 
from django.utils import six
  
  from django.db.models.utils import make_model_tuple
  from django.dispatch import Signal
from django.utils import six
  from django.utils.deprecation import RemovedInDjango20Warning
  
  
  class_prepared = Signal(providing_args=["class"])
keep keep add keep keep keep keep
 Fixed #26686 -- Fixed crash when registering model signals with abstract senders. 
django/db/models/signals.py