summaryrefslogtreecommitdiff
path: root/tests/model_inheritance/tests.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/model_inheritance/tests.py')
-rw-r--r--tests/model_inheritance/tests.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/model_inheritance/tests.py b/tests/model_inheritance/tests.py
index 88f1e623c4..ad85a653d5 100644
--- a/tests/model_inheritance/tests.py
+++ b/tests/model_inheritance/tests.py
@@ -368,6 +368,22 @@ class ModelInheritanceDataTests(TestCase):
self.assertEqual(qs[1].italianrestaurant.name, 'Ristorante Miron')
self.assertEqual(qs[1].italianrestaurant.rating, 4)
+ def test_parent_cache_reuse(self):
+ place = Place.objects.create()
+ GrandChild.objects.create(place=place)
+ grand_parent = GrandParent.objects.latest('pk')
+ with self.assertNumQueries(1):
+ self.assertEqual(grand_parent.place, place)
+ parent = grand_parent.parent
+ with self.assertNumQueries(0):
+ self.assertEqual(parent.place, place)
+ child = parent.child
+ with self.assertNumQueries(0):
+ self.assertEqual(child.place, place)
+ grandchild = child.grandchild
+ with self.assertNumQueries(0):
+ self.assertEqual(grandchild.place, place)
+
def test_update_query_counts(self):
"""
Update queries do not generate unnecessary queries (#18304).