Commit a9936d0b authored by Malcolm Tredinnick's avatar Malcolm Tredinnick
Browse files

[1.0.X] A queryset that has had ordering removed (order_by()) can have ordering

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

Backport of r9206 from trunk.


git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.0.X@9207 bcc190cf-cafb-0310-a4f2-bffc1f526a37
parent 4b687d01
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -608,7 +608,7 @@ class Query(object):
        if self.extra_order_by:
            ordering = self.extra_order_by
        elif not self.default_ordering:
            ordering = []
            ordering = self.order_by
        else:
            ordering = self.order_by or self.model._meta.ordering
        qn = self.quote_name_unless_alias
+6 −0
Original line number Diff line number Diff line
@@ -973,6 +973,12 @@ Make sure bump_prefix() (an internal Query method) doesn't (re-)break.
>>> 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]
True
"""}

# In Python 2.3 and the Python 2.6 beta releases, exceptions raised in __len__