mirror of
https://github.com/django/django.git
synced 2025-10-29 16:46:11 +00:00
[1.8.x] Fixed #25316 -- Fixed a crash with order_by() and values() after annotate().
Backport of 3eba9638ee from master
This commit is contained in:
committed by
Tim Graham
parent
1261c49690
commit
f6b4893a9f
@@ -252,6 +252,18 @@ class CaseExpressionTests(TestCase):
|
||||
transform=attrgetter('integer', 'test')
|
||||
)
|
||||
|
||||
def test_annotate_values_not_in_order_by(self):
|
||||
self.assertEqual(
|
||||
list(CaseTestModel.objects.annotate(test=Case(
|
||||
When(integer=1, then=Value('one')),
|
||||
When(integer=2, then=Value('two')),
|
||||
When(integer=3, then=Value('three')),
|
||||
default=Value('other'),
|
||||
output_field=models.CharField(),
|
||||
)).order_by('test').values_list('integer', flat=True)),
|
||||
[1, 4, 3, 3, 3, 2, 2]
|
||||
)
|
||||
|
||||
def test_combined_expression(self):
|
||||
self.assertQuerysetEqual(
|
||||
CaseTestModel.objects.annotate(
|
||||
|
||||
Reference in New Issue
Block a user