summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/proxy_model_inheritance/models.py7
-rw-r--r--tests/proxy_model_inheritance/tests.py8
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())