diff options
Diffstat (limited to 'tests/prefetch_related/test_prefetch_related_objects.py')
| -rw-r--r-- | tests/prefetch_related/test_prefetch_related_objects.py | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/prefetch_related/test_prefetch_related_objects.py b/tests/prefetch_related/test_prefetch_related_objects.py index c0aa433b91..20d4da5a0a 100644 --- a/tests/prefetch_related/test_prefetch_related_objects.py +++ b/tests/prefetch_related/test_prefetch_related_objects.py @@ -97,6 +97,16 @@ class PrefetchRelatedObjectsTests(TestCase): with self.assertNumQueries(0): self.assertCountEqual(book1.authors.all(), [self.author1, self.author2, self.author3]) + def test_prefetch_object_twice(self): + book1 = Book.objects.get(id=self.book1.id) + book2 = Book.objects.get(id=self.book2.id) + with self.assertNumQueries(1): + prefetch_related_objects([book1], Prefetch('authors')) + with self.assertNumQueries(1): + prefetch_related_objects([book1, book2], Prefetch('authors')) + with self.assertNumQueries(0): + self.assertCountEqual(book2.authors.all(), [self.author1]) + def test_prefetch_object_to_attr(self): book1 = Book.objects.get(id=self.book1.id) with self.assertNumQueries(1): @@ -105,6 +115,22 @@ class PrefetchRelatedObjectsTests(TestCase): with self.assertNumQueries(0): self.assertCountEqual(book1.the_authors, [self.author1, self.author2, self.author3]) + def test_prefetch_object_to_attr_twice(self): + book1 = Book.objects.get(id=self.book1.id) + book2 = Book.objects.get(id=self.book2.id) + with self.assertNumQueries(1): + prefetch_related_objects( + [book1], + Prefetch('authors', to_attr='the_authors'), + ) + with self.assertNumQueries(1): + prefetch_related_objects( + [book1, book2], + Prefetch('authors', to_attr='the_authors'), + ) + with self.assertNumQueries(0): + self.assertCountEqual(book2.the_authors, [self.author1]) + def test_prefetch_queryset(self): book1 = Book.objects.get(id=self.book1.id) with self.assertNumQueries(1): |
