From 0fcd72bc48eade21ce9202d7a71692f9b5a42bd2 Mon Sep 17 00:00:00 2001 From: Aman Pandey Date: Mon, 27 Nov 2023 23:21:33 +0530 Subject: Fixed #34633 -- Made create() method of reverse many-to-one managers clear prefetch_related() cache. --- tests/many_to_one/tests.py | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'tests') diff --git a/tests/many_to_one/tests.py b/tests/many_to_one/tests.py index b07972ec31..ac5b35e055 100644 --- a/tests/many_to_one/tests.py +++ b/tests/many_to_one/tests.py @@ -800,6 +800,14 @@ class ManyToOneTests(TestCase): # refs #21563 self.assertFalse(hasattr(Article(), "reporter")) + def test_create_after_prefetch(self): + c = City.objects.create(name="Musical City") + d1 = District.objects.create(name="Ladida", city=c) + city = City.objects.prefetch_related("districts").get(id=c.id) + self.assertSequenceEqual(city.districts.all(), [d1]) + d2 = city.districts.create(name="Goa") + self.assertSequenceEqual(city.districts.all(), [d1, d2]) + def test_clear_after_prefetch(self): c = City.objects.create(name="Musical City") d = District.objects.create(name="Ladida", city=c) -- cgit v1.3