summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorAnssi Kääriäinen <akaariai@gmail.com>2014-01-20 18:28:16 +0200
committerAnssi Kääriäinen <akaariai@gmail.com>2014-01-24 10:10:17 +0200
commit78a2617703bc1dada409f126db5c3db214913ff4 (patch)
tree4da69327626e3bb0b34dc4dd157f76947d6276ed /tests
parent16f3a6a4c7bab11644d11c2be029374e5095cb56 (diff)
Fixed #21787 -- regression in MTI .exclude() queries
Diffstat (limited to 'tests')
-rw-r--r--tests/queries/tests.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/queries/tests.py b/tests/queries/tests.py
index 03cfc71afe..b303d5f603 100644
--- a/tests/queries/tests.py
+++ b/tests/queries/tests.py
@@ -3225,3 +3225,21 @@ class ValuesJoinPromotionTests(TestCase):
self.assertEqual(qs.count(), 1)
tblname = connection.ops.quote_name(ObjectB._meta.db_table)
self.assertTrue(' LEFT OUTER JOIN %s' % tblname in str(qs.query))
+
+
+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
+ )