diff options
| author | Simon Charette <charette.s@gmail.com> | 2015-10-05 13:26:14 -0400 |
|---|---|---|
| committer | Simon Charette <charette.s@gmail.com> | 2015-10-12 12:14:26 -0400 |
| commit | 211486f3ab5602cdc332f03cd03fad3cb929d154 (patch) | |
| tree | 1613f8cde14f3d4bbb133df153c662dc5cc61633 /tests/proxy_model_inheritance | |
| parent | 8bdfabed6563f2ae136ad43e05bb254c9c15811a (diff) | |
Fixed #23076, #25505 -- Fixed deletion of intermediate proxy models.
Thanks to James Murty for his work on an alternate patch.
Diffstat (limited to 'tests/proxy_model_inheritance')
| -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()) |
