From c00b4dbda2d9217cac205c4ffb3ccc1fa59a28ae Mon Sep 17 00:00:00 2001 From: can Date: Tue, 23 Apr 2019 13:56:05 +0300 Subject: Fixed #29810 -- Fixed crash of select_related() on FilteredRelation with empty result. --- tests/filtered_relation/tests.py | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'tests') diff --git a/tests/filtered_relation/tests.py b/tests/filtered_relation/tests.py index 2596dcbdc2..5e85dff16c 100644 --- a/tests/filtered_relation/tests.py +++ b/tests/filtered_relation/tests.py @@ -50,6 +50,12 @@ class FilteredRelationTests(TestCase): (self.author2, self.book3, self.editor_b, self.author2), ], lambda x: (x, x.book_join, x.book_join.editor, x.book_join.author)) + def test_select_related_with_empty_relation(self): + qs = Author.objects.annotate( + book_join=FilteredRelation('book', condition=Q(pk=-1)), + ).select_related('book_join').order_by('pk') + self.assertSequenceEqual(qs, [self.author1, self.author2]) + def test_select_related_foreign_key(self): qs = Book.objects.annotate( author_join=FilteredRelation('author'), -- cgit v1.3