mirror of
https://github.com/django/django.git
synced 2025-07-06 10:49:17 +00:00
queryset-refactor: Fixed an order_by() regression. It must override any
existing ordering, not append to it. git-svn-id: http://code.djangoproject.com/svn/django/branches/queryset-refactor@6599 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
5e1a54a3a8
commit
3940277792
@ -303,6 +303,7 @@ class _QuerySet(object):
|
|||||||
assert self.query.can_filter(), \
|
assert self.query.can_filter(), \
|
||||||
"Cannot reorder a query once a slice has been taken."
|
"Cannot reorder a query once a slice has been taken."
|
||||||
obj = self._clone()
|
obj = self._clone()
|
||||||
|
obj.query.clear_ordering()
|
||||||
obj.query.add_ordering(*field_names)
|
obj.query.add_ordering(*field_names)
|
||||||
return obj
|
return obj
|
||||||
|
|
||||||
|
@ -64,4 +64,11 @@ __test__ = {'API_TESTS':"""
|
|||||||
# don't know what order the output will be in.
|
# don't know what order the output will be in.
|
||||||
>>> Article.objects.order_by('?')
|
>>> Article.objects.order_by('?')
|
||||||
[...]
|
[...]
|
||||||
|
|
||||||
|
# order_by() overrides any previous ordering, so only the last one has any
|
||||||
|
# effect.
|
||||||
|
>>> Article.objects.order_by('id')
|
||||||
|
[<Article: Article 1>, <Article: Article 2>, <Article: Article 3>, <Article: Article 4>]
|
||||||
|
>>> Article.objects.order_by('id').order_by('-headline')
|
||||||
|
[<Article: Article 4>, <Article: Article 3>, <Article: Article 2>, <Article: Article 1>]
|
||||||
"""}
|
"""}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user