mirror of
				https://github.com/django/django.git
				synced 2025-10-31 09:41:08 +00:00 
			
		
		
		
	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.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@9206 bcc190cf-cafb-0310-a4f2-bffc1f526a37
			
			
This commit is contained in:
		| @@ -608,7 +608,7 @@ class Query(object): | |||||||
|         if self.extra_order_by: |         if self.extra_order_by: | ||||||
|             ordering = self.extra_order_by |             ordering = self.extra_order_by | ||||||
|         elif not self.default_ordering: |         elif not self.default_ordering: | ||||||
|             ordering = [] |             ordering = self.order_by | ||||||
|         else: |         else: | ||||||
|             ordering = self.order_by or self.model._meta.ordering |             ordering = self.order_by or self.model._meta.ordering | ||||||
|         qn = self.quote_name_unless_alias |         qn = self.quote_name_unless_alias | ||||||
|   | |||||||
| @@ -973,6 +973,12 @@ Make sure bump_prefix() (an internal Query method) doesn't (re-)break. | |||||||
| >>> query.bump_prefix() | >>> query.bump_prefix() | ||||||
| >>> print query.as_sql()[0] | >>> print query.as_sql()[0] | ||||||
| SELECT U0."id" FROM "queries_tag" U0 | 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__ | # In Python 2.3 and the Python 2.6 beta releases, exceptions raised in __len__ | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user