Changeset 7224
- Timestamp:
- 03/11/08 03:23:51 (7 months ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
django/branches/queryset-refactor/django/db/models/sql/query.py
r7220 r7224 519 519 # If we get to this point and the field is a relation to another model, 520 520 # append the default ordering for that model. 521 if len(joins) > 1 and opts.ordering:521 if field.rel and len(joins) > 1 and opts.ordering: 522 522 # Firstly, avoid infinite loops. 523 523 if not already_seen: 524 already_seen = {}524 already_seen = set() 525 525 join_tuple = tuple([tuple(j) for j in joins]) 526 526 if join_tuple in already_seen: 527 527 raise FieldError('Infinite loop caused by ordering.') 528 already_seen [join_tuple] = True528 already_seen.add(join_tuple) 529 529 530 530 results = [] django/branches/queryset-refactor/tests/regressiontests/queries/models.py
r7220 r7224 408 408 FieldError: Infinite loop caused by ordering. 409 409 410 # ... but you can still order in a non-recursive fashion amongst linked fields 411 # (the previous test failed because the default ordering was recursive). 412 >>> LoopX.objects.all().order_by('y__x__id') 413 [] 414 410 415 # If the remote model does not have a default ordering, we order by its 'id' 411 416 # field.
