diff options
| author | garybadwal <gurpreet071999@gmail.com> | 2026-04-16 11:46:13 +0530 |
|---|---|---|
| committer | Jacob Walls <jacobtylerwalls@gmail.com> | 2026-04-18 16:39:50 +0300 |
| commit | 820c7d3248af6afbdf3390c97b29e41ba126a421 (patch) | |
| tree | a8de1afc25db3e6bec1e822bed53b37100f4554c /tests | |
| parent | 241b8e1aab7fc71018a059467b2ba17bce6556cc (diff) | |
Fixed #37036 -- Added missing flat=True arg in DeferredAttribute.fetch_many().
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/defer/tests.py | 14 | ||||
| -rw-r--r-- | tests/many_to_one/tests.py | 13 |
2 files changed, 27 insertions, 0 deletions
diff --git a/tests/defer/tests.py b/tests/defer/tests.py index 1a5f333fa1..ea7703c1e3 100644 --- a/tests/defer/tests.py +++ b/tests/defer/tests.py @@ -219,6 +219,20 @@ class DeferTests(AssertionMixin, TestCase): with self.assertNumQueries(1): p1.value + def test_defer_fk_fetch_mode_fetch_peers(self): + p1, p2 = Primary.objects.fetch_mode(FETCH_PEERS).defer("related") + with self.assertNumQueries(2): + self.assertEqual(p1.related, self.s1) + with self.assertNumQueries(0): + self.assertEqual(p2.related, self.s1) + + def test_only_fk_fetch_mode_fetch_peers(self): + p1, p2 = Primary.objects.fetch_mode(FETCH_PEERS).only("name") + with self.assertNumQueries(2): + self.assertEqual(p1.related, self.s1) + with self.assertNumQueries(0): + self.assertEqual(p2.related, self.s1) + def test_only_fetch_mode_raise(self): p1 = Primary.objects.fetch_mode(RAISE).only("name").get(name="p1") msg = "Fetching of Primary.value blocked." diff --git a/tests/many_to_one/tests.py b/tests/many_to_one/tests.py index e161686906..d6149d521f 100644 --- a/tests/many_to_one/tests.py +++ b/tests/many_to_one/tests.py @@ -1002,3 +1002,16 @@ class ManyToOneTests(TestCase): a2._state.fetch_mode, FETCH_PEERS, ) + + def test_fetch_mode_fetch_peers_reverse_with_deferred_fk(self): + Article.objects.create( + headline="Another article", + pub_date=datetime.date(2005, 7, 27), + reporter=self.r, + ) + r = Reporter.objects.fetch_mode(FETCH_PEERS).get(pk=self.r.pk) + a1, a2 = r.article_set.defer("reporter") + with self.assertNumQueries(2): + self.assertEqual(a1.reporter, self.r) + with self.assertNumQueries(0): + self.assertEqual(a2.reporter, self.r) |
