diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2008-06-22 19:02:19 +0000 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2008-06-22 19:02:19 +0000 |
| commit | 3e8b0951780d96bdf59dd7aceddf028be62eaa0b (patch) | |
| tree | 553f77e7ad37d5330b000e45ff8d73bb48822bb2 /lib/sqlalchemy/orm | |
| parent | f2af07217f81588e50cb5889603d5858472d9b3d (diff) | |
| download | sqlalchemy-3e8b0951780d96bdf59dd7aceddf028be62eaa0b.tar.gz | |
- Fixed explicit, self-referential joins between two
joined-table inheritance mappers when using
query.join(cls, aliased=True). [ticket:1082]
Diffstat (limited to 'lib/sqlalchemy/orm')
| -rw-r--r-- | lib/sqlalchemy/orm/query.py | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/lib/sqlalchemy/orm/query.py b/lib/sqlalchemy/orm/query.py index 51c57ca30..37463ef10 100644 --- a/lib/sqlalchemy/orm/query.py +++ b/lib/sqlalchemy/orm/query.py @@ -842,14 +842,14 @@ class Query(object): right_entity = aliased(right_mapper, right_selectable) alias_criterion = True - elif right_mapper.with_polymorphic or isinstance(right_mapper.mapped_table, expression.Join): - aliased_entity = True + elif create_aliases: right_entity = aliased(right_mapper) alias_criterion = True - - elif create_aliases: + + elif right_mapper.with_polymorphic or isinstance(right_mapper.mapped_table, expression.Join): right_entity = aliased(right_mapper) alias_criterion = True + aliased_entity = True elif prop: if prop.table in self.__currenttables: @@ -873,7 +873,7 @@ class Query(object): if alias_criterion: self._filter_aliases = ORMAdapter(right_entity, equivalents=right_mapper._equivalent_columns, chain_to=self._filter_aliases) - + if aliased_entity: self.__mapper_loads_polymorphically_with(right_mapper, ORMAdapter(right_entity, equivalents=right_mapper._equivalent_columns)) @@ -1567,7 +1567,7 @@ class _MapperEntity(_QueryEntity): def setup_context(self, query, context): adapter = self._get_entity_clauses(query, context) - + context.froms.append(self.selectable) if context.order_by is False and self.mapper.order_by: |
