-
-
Notifications
You must be signed in to change notification settings - Fork 302
Closed
Labels
Description
There is a chance that polymorphic_ctype_id of an object can point a wrong non-proxy ContentType model. If that case happens polymorphic model's get_real_instance_class throws a TypeError instead of RuntimeError.
issubclass method is called with a None argument like issubclass(model_instance, None)
# Protect against bad imports (dumpdata without --natural) or other
# issues missing with the ContentType models.
if model is not None \
and not issubclass(model, self.__class__) \
and not issubclass(model, self.__class__._meta.proxy_for_model):
raise RuntimeError("ContentType {0} for {1} #{2} does not point to a subclass!".format(
self.polymorphic_ctype_id, model, self.pk,
))
return modelMaybe above code should also check self.__class__._meta.proxy_for_model is a None or not before calling issubclass?
cesarcruz, kingllama, benrudolph and nuwang