﻿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
2247	Foreign key ordering bug	timosa2@…	Adrian Holovaty	"The following kind of model where you would like to order objects indirectly using a foreign key results errors like in below.

The model:

{{{
class Day(models.Model):
    date        = models.DateField()
    description = models.CharField(maxlength=20)

    class Admin:
        pass
    class Meta:
        ordering = ['date', 'description']

class DayRow(models.Model):
    day = models.ForeignKey(Day)

    class Admin:
        pass
    class Meta:
        ordering = ['day']

class Slot(models.Model):
    day_row = models.ForeignKey(DayRow)
    info    = model.CharField(maxlength=50)
    
    class Admin:
        pass
    class Meta:
        ordering = ['day_row']
}}}

The error:

{{{
Traceback (most recent call last):
File ""/usr/lib/python2.4/site-packages/django/core/handlers/base.py"" in get_response
  74. response = callback(request, *callback_args, **callback_kwargs)
File ""/usr/lib/python2.4/site-packages/django/contrib/admin/views/decorators.py"" in _checklogin
  54. return view_func(request, *args, **kwargs)
File ""/usr/lib/python2.4/site-packages/django/views/decorators/cache.py"" in _wrapped_view_func
  40. response = view_func(request, *args, **kwargs)
File ""/usr/lib/python2.4/site-packages/django/contrib/admin/views/main.py"" in change_list
  739. cl = ChangeList(request, model)
File ""/usr/lib/python2.4/site-packages/django/contrib/admin/views/main.py"" in __init__
  570. self.get_results(request)
File ""/usr/lib/python2.4/site-packages/django/contrib/admin/views/main.py"" in get_results
  628. result_list = list(self.query_set)
File ""/usr/lib/python2.4/site-packages/django/db/models/query.py"" in __iter__
  94. return iter(self._get_data())
File ""/usr/lib/python2.4/site-packages/django/db/models/query.py"" in _get_data
  412. self._result_cache = list(self.iterator())
File ""/usr/lib/python2.4/site-packages/django/db/models/query.py"" in iterator
  163. cursor.execute(""SELECT "" + (self._distinct and ""DISTINCT "" or """") + "","".join(select) + sql, params)
File ""/usr/lib/python2.4/site-packages/django/db/backends/util.py"" in execute
  12. return self.cursor.execute(sql, params)

  ProgrammingError at /admin/xyz/dayrow/
  ERROR: missing FROM-clause entry for table ""xyz_day"" SELECT ""xyz_dayrow"".""id"",""xyz_dayrow"".""day_id"" FROM ""xyz_dayrow"" ORDER BY ""xyz_day"".""date"" ASC
}}}

"	defect	closed	Database layer (models, ORM)	dev	normal	duplicate			Unreviewed	0	0	0	0	0	0
