Restore single if-statement of PR #369 change

This commit is contained in:
Diederik van der Boor
2019-07-11 22:10:42 +02:00
parent a1c779a295
commit 25f4dbb9cd
+7 -7
View File
@@ -107,13 +107,13 @@ class PolymorphicModel(six.with_metaclass(PolymorphicModelBase, models.Model)):
# 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__):
if self.__class__._meta.proxy_for_model is None or \
not issubclass(model, self.__class__._meta.proxy_for_model):
raise PolymorphicTypeInvalid("ContentType {0} for {1} #{2} does not point to a subclass!".format(
self.polymorphic_ctype_id, model, self.pk,
))
if model is not None \
and not issubclass(model, self.__class__) \
and (self.__class__._meta.proxy_for_model is None \
or not issubclass(model, self.__class__._meta.proxy_for_model)):
raise PolymorphicTypeInvalid("ContentType {0} for {1} #{2} does not point to a subclass!".format(
self.polymorphic_ctype_id, model, self.pk,
))
return model