Changeset 7447
- Timestamp:
- 04/23/08 05:43:42 (3 months ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
django/branches/queryset-refactor/django/db/models/sql/query.py
r7445 r7447 426 426 if not self.alias_refcount[alias]: 427 427 continue 428 name, alias, join_type, lhs, lhs_col, col, nullable = self.alias_map[alias] 428 try: 429 name, alias, join_type, lhs, lhs_col, col, nullable = self.alias_map[alias] 430 except KeyError: 431 # Extra tables can end up in self.tables, but not in the 432 # alias_map if they aren't in a join. That's OK. We skip them. 433 continue 429 434 alias_str = (alias != name and ' %s' % alias or '') 430 435 if join_type and not first: … … 437 442 first = False 438 443 for t in self.extra_tables: 439 alias, created = self.table_alias(t)440 if created:444 alias, unused = self.table_alias(t) 445 if alias not in self.alias_map: 441 446 connector = not first and ', ' or '' 442 result.append('%s%s' % (connector, alias))447 result.append('%s%s' % (connector, qn(alias))) 443 448 first = False 444 449 return result, [] django/branches/queryset-refactor/tests/regressiontests/queries/models.py
r7440 r7447 635 635 ... 636 636 IndexError: ... 637 638 Bug #7045 -- extra tables used to crash SQL construction on the second use. 639 >>> qs = Ranking.objects.extra(tables=['django_site']) 640 >>> s = qs.query.as_sql() 641 >>> s = qs.query.as_sql() # test passes if this doesn't raise an exception. 642 637 643 """} 638 644
