﻿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
521	Multilevel foreign key ordering causes error in Admin changeview	andreas	Adrian Holovaty	"Ordering by a foreign key of a model which is itself ordered by another foreign key causes a ""column does not exist""-error in Admin changeview.

Code:

{{{
class ParentClass(meta.Model):
    somevar        = meta.CharField(maxlength=100)
    def __repr__(self):
        return self.somevar
    class META:
        admin      = meta.Admin(list_display = ('somevar'))
        ordering   = ['somevar']
 
class FirstChild(meta.Model):
    theparent      = meta.ForeignKey(ParentClass)
    myvar          = meta.CharField(maxlength=100)
    def __repr__(self):
        return self.myvar
    class META:
        admin = meta.Admin(list_display = ('myvar', 'theparent'))
        ordering = ['theparent']

class ChildsChild(meta.Model):
    firstchild     = meta.ForeignKey(FirstChild)
    myownvar       = meta.CharField(maxlength=100)
    def __repr__(self):
        return self.myownvar
    class META:
        admin = meta.Admin(list_display = ('myownvar', 'firstchild'))
        ordering   = ['firstchild']
}}}

Error when viewing Admin changeview of ChildsChild:

{{{
There's been an error:

Traceback (most recent call last):

  File ""C:\Programme\Python24\lib\site-packages\django\core\handlers\base.py"", line 64, in get_response
    response = callback(request, **param_dict)

  File ""C:\Programme\Python24\lib\site-packages\django\views\admin\main.py"", line 183, in change_list
    result_list = lookup_mod.get_list(**lookup_params)

  File ""C:\Programme\Python24\lib\site-packages\django\utils\functional.py"", line 3, in _curried
    return args[0](*(args[1:]+moreargs), **dict(kwargs.items() + morekwargs.items()))

  File ""C:\Programme\Python24\lib\site-packages\django\core\meta\__init__.py"", line 1123, in function_get_list
    return list(function_get_iterator(opts, klass, **kwargs))

  File ""C:\Programme\Python24\lib\site-packages\django\core\meta\__init__.py"", line 1106, in function_get_iterator
    cursor.execute(""SELECT "" + (kwargs.get('distinct') and ""DISTINCT "" or """") + "","".join(select) + sql, params)

  File ""C:\Programme\Python24\lib\site-packages\django\core\db\base.py"", line 10, in execute
    result = self.cursor.execute(sql, params)

ProgrammingError: ERROR:  column myproject_firstchilds.theparent does not exist
}}}
"	enhancement	closed	Metasystem		blocker	fixed			Unreviewed	0	0	0	0	0	0
