﻿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
7101	ordering  ForeignKey(self) =FieldError: Infinite loop caused by ordering.	Carl Karsten <carl@…>	nobody	"r7477 caused this code to error.  If I trimmed to much, let me know and I'll mock up a reproducible setup.  

{{{
class NavBarEntry(models.Model):
    name   = models.CharField(max_length=50,
                              help_text=""text seen in the menu"")
    parent = models.ForeignKey('self', related_name='children',
                               blank=True, null=True,
                               validator_list=[IsNotCircular])


    class Meta:
        ordering = ('parent', )
}}}

{{{
Traceback (most recent call last):

  File ""/home/juser/django/core/servers/basehttp.py"", line 277, in run
    self.result = application(self.environ, self.start_response)

  File ""/home/juser/django/core/servers/basehttp.py"", line 631, in __call__
    return self.application(environ, start_response)

  File ""/home/juser/django/core/handlers/wsgi.py"", line 209, in __call__
    response = middleware_method(request, response)

  File ""/home/juser/django/contrib/flatpages/middleware.py"", line 10, in process_response
    return flatpage(request, request.path)

  File ""/home/juser/django/contrib/flatpages/views.py"", line 42, in flatpage
    'flatpage': f,

  File ""/home/juser/django/template/context.py"", line 103, in __init__
    self.update(processor(request))

  File ""/home/juser/wineshow/navbar/context_processors.py"", line 39, in navbars
    nav    = get_navtree(request.user, MAX_DEPTH)

  File ""/home/juser/wineshow/navbar/models.py"", line 167, in get_navtree
    data = generate_navtree(user, maxdepth)

  File ""/home/juser/wineshow/navbar/models.py"", line 153, in generate_navtree
    tree = navlevel(NavBarEntry.top, maxdepth)

  File ""/home/juser/wineshow/navbar/models.py"", line 152, in navlevel
    for ent in base.filter(permQ).distinct() ]

  File ""/home/juser/django/db/models/query.py"", line 67, in _result_iter
    self._fill_cache()

  File ""/home/juser/django/db/models/query.py"", line 479, in _fill_cache
    self._result_cache.append(self._iter.next())

  File ""/home/juser/django/db/models/query.py"", line 151, in iterator
    for row in self.query.results_iter():

  File ""/home/juser/django/db/models/sql/query.py"", line 182, in results_iter
    for rows in self.execute_sql(MULTI):

  File ""/home/juser/django/db/models/sql/query.py"", line 1432, in execute_sql
    sql, params = self.as_sql()

  File ""/home/juser/django/db/models/sql/query.py"", line 229, in as_sql
    ordering = self.get_ordering()

  File ""/home/juser/django/db/models/sql/query.py"", line 564, in get_ordering
    self.model._meta, default_order=asc):

  File ""/home/juser/django/db/models/sql/query.py"", line 608, in find_ordering_name
    order, already_seen))

  File ""/home/juser/django/db/models/sql/query.py"", line 602, in find_ordering_name
    raise FieldError('Infinite loop caused by ordering.')

FieldError: Infinite loop caused by ordering.
}}}"		closed	Core (Other)	dev		invalid			Unreviewed	0	0	0	0	0	0
