Django

Code

Changeset 6599

Show
Ignore:
Timestamp:
10/23/07 08:34:03 (1 year ago)
Author:
mtredinnick
Message:

queryset-refactor: Fixed an order_by() regression. It must override any
existing ordering, not append to it.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • django/branches/queryset-refactor/django/db/models/query.py

    r6523 r6599  
    304304                "Cannot reorder a query once a slice has been taken." 
    305305        obj = self._clone() 
     306        obj.query.clear_ordering() 
    306307        obj.query.add_ordering(*field_names) 
    307308        return obj 
  • django/branches/queryset-refactor/tests/modeltests/ordering/models.py

    r5876 r6599  
    6565>>> Article.objects.order_by('?') 
    6666[...] 
     67 
     68# order_by() overrides any previous ordering, so only the last one has any 
     69# effect. 
     70>>> Article.objects.order_by('id') 
     71[<Article: Article 1>, <Article: Article 2>, <Article: Article 3>, <Article: Article 4>] 
     72>>> Article.objects.order_by('id').order_by('-headline') 
     73[<Article: Article 4>, <Article: Article 3>, <Article: Article 2>, <Article: Article 1>] 
    6774"""}