Fixed #23076, #25505 -- Fixed deletion of intermediate proxy models.

Thanks to James Murty for his work on an alternate patch.
This commit is contained in:
Simon Charette 2015-10-05 13:26:14 -04:00
parent 8bdfabed65
commit 211486f3ab
3 changed files with 15 additions and 2 deletions

View file

@ -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())