﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
7098	FieldError Invalid order_by arguments in Admin pages when sorting on a ForeignKey	trbs	nobody	"In Trunk with the merged queryset-refactor branch, the following problem happens when trying to sort on a foreign key in the admin menu.
As an example i've used the contrib.comments and sorted on the 'user' column. (which is a foreign key to auth user model)

I've attached a patch (which seems) to fix this on this ticket.

Comments are appreciated :)

Error Message / Stack trace:

{{{
Environment:

Request Method: GET
Request URL: http://localhost:8000/admin/comments/comment/
Django Version: 0.97-pre-SVN-unknown
Python Version: 2.5.2
Installed Applications:
['django.contrib.sites',
 'django.contrib.auth',
 'django.contrib.admin',
 'django.contrib.comments',
 'django.contrib.contenttypes',
 'django.contrib.humanize',
 'django.contrib.redirects',
 'django.contrib.sessions',
 'django.contrib.sitemaps',
 'django.contrib.markup',
 'extensions',
 'comment_utils',
 'template_utils',
 'django.contrib.flatpages',
 'django.contrib.databrowse']
Installed Middleware:
('django.contrib.sessions.middleware.SessionMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.cache.CacheMiddleware',
 'django.middleware.doc.XViewMiddleware',
 'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware')


Traceback:
File ""/usr/src/django/trunk/django/core/handlers/base.py"" in get_response
  82.                 response = callback(request, *callback_args, **callback_kwargs)
File ""/usr/src/django/trunk/django/contrib/admin/views/decorators.py"" in _checklogin
  62.             return view_func(request, *args, **kwargs)
File ""/usr/src/django/trunk/django/views/decorators/cache.py"" in _wrapped_view_func
  44.         response = view_func(request, *args, **kwargs)
File ""/usr/src/django/trunk/django/contrib/admin/views/main.py"" in change_list
  772.         cl = ChangeList(request, model)
File ""/usr/src/django/trunk/django/contrib/admin/views/main.py"" in __init__
  581.         self.query_set = self.get_query_set()
File ""/usr/src/django/trunk/django/django/contrib/admin/views/main.py"" in get_query_set
  736.         qs = qs.order_by((self.order_type == 'desc' and '-' or '') + lookup_order_field)
File ""/usr/src/django/trunk/django/db/models/query.py"" in order_by
  427.         obj.query.add_ordering(*field_names)
File ""/usr/src/django/trunk/django/db/models/sql/query.py"" in add_ordering
  1293.             raise FieldError('Invalid order_by arguments: %s' % errors)

Exception Type: FieldError at /admin/comments/comment/
Exception Value: Invalid order_by arguments: ['auth_user.username']
}}}"		closed	contrib.admin	dev		fixed	order_by		Unreviewed	1	0	0	0	0	0
