mirror of
https://github.com/django/django.git
synced 2025-10-24 06:06:09 +00:00
Fixed #21787 -- regression in MTI .exclude() queries
This commit is contained in:
@@ -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
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user