diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2010-03-19 21:12:29 -0400 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2010-03-19 21:12:29 -0400 |
| commit | ddeaa9f0d6ed1c7422a90e5b8e92b717e2671403 (patch) | |
| tree | 8505c9205e09ef9e852f6d997d8efb0955148378 /lib | |
| parent | 960863906680b4a2fd4c27fff58e8a5939ea35f1 (diff) | |
| download | sqlalchemy-ddeaa9f0d6ed1c7422a90e5b8e92b717e2671403.tar.gz | |
- Fixed bug whereby calling query(A).join(A.bs).add_entity(B)
in a joined inheritance scenario would double-add B as a
target and produce an invalid query. [ticket:1188]
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/sqlalchemy/orm/query.py | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/sqlalchemy/orm/query.py b/lib/sqlalchemy/orm/query.py index 682aa2bbf..8d3d7fbb3 100644 --- a/lib/sqlalchemy/orm/query.py +++ b/lib/sqlalchemy/orm/query.py @@ -114,7 +114,8 @@ class Query(object): mapper, selectable, is_aliased_class = _entity_info(entity) if not is_aliased_class and mapper.with_polymorphic: with_polymorphic = mapper._with_polymorphic_mappers - self.__mapper_loads_polymorphically_with(mapper, + if mapper.mapped_table not in self._polymorphic_adapters: + self.__mapper_loads_polymorphically_with(mapper, sql_util.ColumnAdapter(selectable, mapper._equivalent_columns)) adapter = None elif is_aliased_class: |
