mirror of
https://github.com/django/django.git
synced 2025-09-11 13:06:29 +00:00
Fixed #23797 -- Fixed QuerySet.exclude() when rhs is a nullable column.
This commit is contained in:
parent
b7b7df5fbc
commit
512da9d585
4 changed files with 31 additions and 7 deletions
|
@ -2372,7 +2372,10 @@ class ValuesQuerysetTests(TestCase):
|
|||
qs = Number.objects.extra(select={'num2': 'num+1'}).annotate(Count('id'))
|
||||
values = qs.values_list(named=True).first()
|
||||
self.assertEqual(type(values).__name__, 'Row')
|
||||
self.assertEqual(values._fields, ('num2', 'id', 'num', 'other_num', 'id__count'))
|
||||
self.assertEqual(
|
||||
values._fields,
|
||||
('num2', 'id', 'num', 'other_num', 'another_num', 'id__count'),
|
||||
)
|
||||
self.assertEqual(values.num, 72)
|
||||
self.assertEqual(values.num2, 73)
|
||||
self.assertEqual(values.id__count, 1)
|
||||
|
@ -2855,6 +2858,18 @@ class ExcludeTests(TestCase):
|
|||
self.r1.delete()
|
||||
self.assertFalse(qs.exists())
|
||||
|
||||
def test_exclude_nullable_fields(self):
|
||||
number = Number.objects.create(num=1, other_num=1)
|
||||
Number.objects.create(num=2, other_num=2, another_num=2)
|
||||
self.assertSequenceEqual(
|
||||
Number.objects.exclude(other_num=F('another_num')),
|
||||
[number],
|
||||
)
|
||||
self.assertSequenceEqual(
|
||||
Number.objects.exclude(num=F('another_num')),
|
||||
[number],
|
||||
)
|
||||
|
||||
|
||||
class ExcludeTest17600(TestCase):
|
||||
"""
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue