Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Browse files

A queryset that has had ordering removed (order_by()) can have orderi…

…ng added

again later (order_by('foo')). Or, at least, it can now. Thanks to Ilya
Novoselov for diagnosing the problem here.

git-svn-id: bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
1 parent 44f228f commit 559aca7d78cd6f0c24260ba9197579b2c9c53bd2 @malcolmt malcolmt committed
2  django/db/models/sql/
@@ -608,7 +608,7 @@ def get_ordering(self):
if self.extra_order_by:
ordering = self.extra_order_by
elif not self.default_ordering:
- ordering = []
+ ordering = self.order_by
ordering = self.order_by or self.model._meta.ordering
qn = self.quote_name_unless_alias
6 tests/regressiontests/queries/
@@ -973,6 +973,12 @@ def __unicode__(self):
>>> query.bump_prefix()
>>> print query.as_sql()[0]
SELECT U0."id" FROM "queries_tag" U0
+Calling order_by() with no parameters removes any existing ordering on the
+model. But it should still be possible to add new ordering after that.
+>>> qs = Author.objects.order_by().order_by('name')
+>>> 'ORDER BY' in qs.query.as_sql()[0]
# In Python 2.3 and the Python 2.6 beta releases, exceptions raised in __len__

0 comments on commit 559aca7

Please sign in to comment.
Something went wrong with that request. Please try again.