summaryrefslogtreecommitdiff
path: root/tests/queries/test_qs_combinators.py
diff options
context:
space:
mode:
authorSimon Charette <simon.charette@zapier.com>2019-07-09 17:26:37 -0400
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2019-07-10 08:04:45 +0200
commit9dee8515d6f2876fa039aaebdfe8e2bc9de63085 (patch)
treef8f2d702a530b6bea771ad6e5f23fdd396f83b1c /tests/queries/test_qs_combinators.py
parent8f0b9e7f9a3bf4db1d70186b96da89823d293608 (diff)
[2.2.x] 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 bc7e288ca9554ac1a0a19941302dea19df1acd21. Backport of ee6e93ec8727d0f5ed33190a3c354867669ed72f from master
Diffstat (limited to 'tests/queries/test_qs_combinators.py')
-rw-r--r--tests/queries/test_qs_combinators.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/tests/queries/test_qs_combinators.py b/tests/queries/test_qs_combinators.py
index 3902db59e2..0c1c614999 100644
--- a/tests/queries/test_qs_combinators.py
+++ b/tests/queries/test_qs_combinators.py
@@ -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
@@ -225,3 +225,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))