diff options
| author | Anssi Kääriäinen <akaariai@gmail.com> | 2014-01-20 18:28:16 +0200 |
|---|---|---|
| committer | Anssi Kääriäinen <akaariai@gmail.com> | 2014-01-24 10:18:57 +0200 |
| commit | e47b90e48f3532d312afcfaec55b2711b2129c02 (patch) | |
| tree | af68d7166e3b4327a36121677c19c564b9d4694d /tests | |
| parent | c91e772b3a5bf45b690645001386339e7a268bd7 (diff) | |
[1.6.x] Fixed #21787 -- regression in MTI .exclude() queries
Backpatch of 78a2617703bc1dada409f126db5c3db214913ff4 from master.
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/queries/tests.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/queries/tests.py b/tests/queries/tests.py index ec708c6a51..6d59df6b0e 100644 --- a/tests/queries/tests.py +++ b/tests/queries/tests.py @@ -3008,3 +3008,21 @@ class Ticket21203Tests(TestCase): qs = Ticket21203Child.objects.select_related('parent').defer('parent__created') self.assertQuerysetEqual(qs, [c], lambda x: x) self.assertIs(qs[0].parent.parent_bool, True) + + +class ForeignKeyToBaseExcludeTests(TestCase): + def test_ticket_21787(self): + sc1 = SpecialCategory.objects.create(special_name='sc1', name='sc1') + sc2 = SpecialCategory.objects.create(special_name='sc2', name='sc2') + sc3 = SpecialCategory.objects.create(special_name='sc3', name='sc3') + c1 = CategoryItem.objects.create(category=sc1) + CategoryItem.objects.create(category=sc2) + self.assertQuerysetEqual( + SpecialCategory.objects.exclude( + categoryitem__id=c1.pk).order_by('name'), + [sc2, sc3], lambda x: x + ) + self.assertQuerysetEqual( + SpecialCategory.objects.filter(categoryitem__id=c1.pk), + [sc1], lambda x: x + ) |
