#13490 closed (invalid)
Django's `order_by` Performs Differently Based on Environment
Reported by: | b14ck | Owned by: | nobody |
---|---|---|---|
Component: | Uncategorized | Version: | dev |
Severity: | Keywords: | database, query, order_by, inconsistency | |
Cc: | rdegges@… | Triage Stage: | Unreviewed |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description
Hi there. I came across the following (seemingly) inconsistency with Django's order_by
method, that is usually used on DB queries. It appears to act differently when used in production vs. when used through python manage.py shell:
# from python manage.py shell
rdegges@WEB01:~/partyline_portal$ python manage.py shell Python 2.6.4 (r264:75706, Dec 7 2009, 18:43:55) [GCC 4.4.1] on linux2 Type "help", "copyright", "credits" or "license" for more information. (InteractiveConsole) >>> from partyline_portal.partylines.models import Partyline >>> partylines = Partyline.objects.all() >>> partylines [<Partyline: Randall Test>] >>> partylines = Partyline.objects.all().order_by('name') >>> partylines [<Partyline: Randall Test>] >>> partylines = Partyline.objects.all() >>> partylines [<Partyline: Randall Test>] >>> partylines.order_by('name') [<Partyline: Randall Test>] >>>
As you can see above, I can use the order_by
function on both queries: Partyline.objects.all().order_by('name') as well as lists: partylines.order_by('name')
However, if I run this same code in a view, and render a page to the user, Django spits an error saying that partylines has no method order_by
available to it.
I can't find any evidence that this is happening. A queryset is a queryset, and querysets have an order_by method. You haven't provided sample view code; I can only presume that your view has an error of some kind.