diff options
| author | viliam mihalik <viliam.mihalik@smartbase.sk> | 2025-06-05 23:53:01 +0200 |
|---|---|---|
| committer | Sarah Boyce <42296566+sarahboyce@users.noreply.github.com> | 2025-06-12 08:36:54 +0200 |
| commit | bd65e82831304ede92af6e9f0807daa3a874efc0 (patch) | |
| tree | b99772eb02ba33449247a97d7d22a1f92b2f74e4 /tests/filtered_relation | |
| parent | 95a5c9b794fe2ad83344c7ac3ca6e940eb7e0949 (diff) | |
Fixed #36442 -- Cloned FilteredRelation before rename_prefix_from_q.
Diffstat (limited to 'tests/filtered_relation')
| -rw-r--r-- | tests/filtered_relation/tests.py | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/filtered_relation/tests.py b/tests/filtered_relation/tests.py index a9c6e00567..cdcd5c19af 100644 --- a/tests/filtered_relation/tests.py +++ b/tests/filtered_relation/tests.py @@ -604,6 +604,28 @@ class FilteredRelationTests(TestCase): qs.filter(my_readers=borrower).values_list("name", flat=True), ["Alice"] ) + def test_reuse_same_filtered_relation(self): + borrower = Borrower.objects.create(name="Jenny") + Reservation.objects.create( + borrower=borrower, + book=self.book1, + state=Reservation.STOPPED, + ) + condition = Q(book__reservation__state=Reservation.STOPPED) + my_reserved_books = FilteredRelation("book__reservation", condition=condition) + first_query = list( + Author.objects.annotate( + my_reserved_books=my_reserved_books, + ) + ) + self.assertEqual(my_reserved_books.condition, condition) + second_query = list( + Author.objects.annotate( + my_reserved_books=my_reserved_books, + ) + ) + self.assertEqual(first_query, second_query) + def test_deep_nested_foreign_key(self): qs = ( Book.objects.annotate( |
