Changeset 7459
- Timestamp:
- 04/25/08 10:01:40 (2 months ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
django/branches/queryset-refactor/django/db/models/sql/query.py
r7457 r7459 674 674 675 675 t = self.rev_join_map[old_alias] 676 self.join_map[t] = new_alias 676 data = list(self.join_map[t]) 677 data[data.index(old_alias)] = new_alias 678 self.join_map[t] = tuple(data) 677 679 self.rev_join_map[new_alias] = t 678 680 del self.rev_join_map[old_alias] … … 779 781 lhs_table = lhs 780 782 t_ident = (lhs_table, table, lhs_col, col) 781 alias = self.join_map.get(t_ident)782 if alias and not always_create and alias not in exclusions:783 self.ref_alias(alias)784 if promote:785 self.promote_alias(alias)786 return alias783 for alias in self.join_map.get(t_ident, ()): 784 if alias and not always_create and alias not in exclusions: 785 self.ref_alias(alias) 786 if promote: 787 self.promote_alias(alias) 788 return alias 787 789 788 790 # No reuse is possible, so we need a new alias. … … 798 800 join = (table, alias, join_type, lhs, lhs_col, col, nullable) 799 801 self.alias_map[alias] = join 800 self.join_map[t_ident] = alias 802 if t_ident in self.join_map: 803 self.join_map[t_ident] += (alias,) 804 else: 805 self.join_map[t_ident] = (alias,) 801 806 self.rev_join_map[alias] = t_ident 802 807 return alias
