mirror of
https://github.com/django/django.git
synced 2025-11-25 21:22:14 +00:00
Fixed #30628 -- Adjusted expression identity to differentiate bound fields.
Expressions referring to different bound fields should not be
considered equal.
Thanks Julien Enselme for the detailed report.
Regression in bc7e288ca9.
This commit is contained in:
parent
1bbf77bea5
commit
ee6e93ec87
6 changed files with 37 additions and 5 deletions
|
|
@ -9,7 +9,7 @@ from .models import Number, ReservedName
|
|||
class QuerySetSetOperationTests(TestCase):
|
||||
@classmethod
|
||||
def setUpTestData(cls):
|
||||
Number.objects.bulk_create(Number(num=i) for i in range(10))
|
||||
Number.objects.bulk_create(Number(num=i, other_num=10 - i) for i in range(10))
|
||||
|
||||
def number_transform(self, value):
|
||||
return value.num
|
||||
|
|
@ -251,3 +251,10 @@ class QuerySetSetOperationTests(TestCase):
|
|||
qs1 = Number.objects.all()
|
||||
qs2 = Number.objects.intersection(Number.objects.filter(num__gt=1))
|
||||
self.assertEqual(qs1.difference(qs2).count(), 2)
|
||||
|
||||
def test_order_by_same_type(self):
|
||||
qs = Number.objects.all()
|
||||
union = qs.union(qs)
|
||||
numbers = list(range(10))
|
||||
self.assertNumbersEqual(union.order_by('num'), numbers)
|
||||
self.assertNumbersEqual(union.order_by('other_num'), reversed(numbers))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue