diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/proxy_model_inheritance/models.py | 7 | ||||
| -rw-r--r-- | tests/proxy_model_inheritance/tests.py | 8 |
2 files changed, 14 insertions, 1 deletions
diff --git a/tests/proxy_model_inheritance/models.py b/tests/proxy_model_inheritance/models.py index 7a10b77c90..240fd60c4e 100644 --- a/tests/proxy_model_inheritance/models.py +++ b/tests/proxy_model_inheritance/models.py @@ -6,7 +6,12 @@ class ConcreteModel(models.Model): pass -class ConcreteModelSubclass(ConcreteModel): +class ProxyModel(ConcreteModel): + class Meta: + proxy = True + + +class ConcreteModelSubclass(ProxyModel): pass diff --git a/tests/proxy_model_inheritance/tests.py b/tests/proxy_model_inheritance/tests.py index b0af0040f9..b4b1c13435 100644 --- a/tests/proxy_model_inheritance/tests.py +++ b/tests/proxy_model_inheritance/tests.py @@ -9,6 +9,7 @@ from django.utils._os import upath from .models import ( ConcreteModel, ConcreteModelSubclass, ConcreteModelSubclassProxy, + ProxyModel, ) @@ -43,3 +44,10 @@ class MultiTableInheritanceProxyTest(TestCase): self.assertEqual(0, ConcreteModelSubclassProxy.objects.count()) self.assertEqual(0, ConcreteModelSubclass.objects.count()) self.assertEqual(0, ConcreteModel.objects.count()) + + def test_deletion_through_intermediate_proxy(self): + child = ConcreteModelSubclass.objects.create() + proxy = ProxyModel.objects.get(pk=child.pk) + proxy.delete() + self.assertFalse(ConcreteModel.objects.exists()) + self.assertFalse(ConcreteModelSubclass.objects.exists()) |
