mirror of
https://github.com/django/django.git
synced 2025-10-24 06:06:09 +00:00
Fixed #28834 -- Followed ancestor links on field cache lookup failure.
Thanks Tim for the review.
This commit is contained in:
@@ -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).
|
||||
|
||||
Reference in New Issue
Block a user