Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Fixed #13159 -- properly quote aggregates in order_by.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@15318 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
commit 80287f1e8a554290faa6a0c31113a9f4eecf7b79 1 parent 91414c4
@alex alex authored
View
2  django/db/models/sql/compiler.py
@@ -330,7 +330,7 @@ def get_ordering(self):
continue
col, order = get_order_dir(field, asc)
if col in self.query.aggregate_select:
- result.append('%s %s' % (col, order))
+ result.append('%s %s' % (qn(col), order))
continue
if '.' in field:
# This came in through an extra(order_by=...) addition. Pass it
View
13 tests/regressiontests/aggregation_regress/tests.py
@@ -747,6 +747,19 @@ def test_annotation_disjunction(self):
attrgetter("name")
)
+ def test_quoting_aggregate_order_by(self):
+ qs = Book.objects.filter(
+ name="Python Web Development with Django"
+ ).annotate(
+ authorCount=Count("authors")
+ ).order_by("authorCount")
+ self.assertQuerysetEqual(
+ qs, [
+ ("Python Web Development with Django", 3),
+ ],
+ lambda b: (b.name, b.authorCount)
+ )
+
@skipUnlessDBFeature('supports_stddev')
def test_stddev(self):
self.assertEqual(
Please sign in to comment.
Something went wrong with that request. Please try again.