diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2015-11-25 15:29:04 -0500 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2015-11-25 15:29:04 -0500 |
commit | 1202e140b9876cf202c56d2f41bbbb573e15a39d (patch) | |
tree | 00d70e89dedbdbf109343e0c667f71c8388c7c94 /lib/sqlalchemy/orm/util.py | |
parent | 2a2be6a2ce66ed1040c0345a20f959cbea218859 (diff) | |
download | sqlalchemy-1202e140b9876cf202c56d2f41bbbb573e15a39d.tar.gz |
- Fixed bug which is actually a regression that occurred between
versions 0.8.0 and 0.8.1, due :ticket:`2714`. The case where
joined eager loading needs to join out over a subclass-bound
relationship when "with_polymorphic" were also used would fail
to join from the correct entity.
fixes #3593
Diffstat (limited to 'lib/sqlalchemy/orm/util.py')
-rw-r--r-- | lib/sqlalchemy/orm/util.py | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/sqlalchemy/orm/util.py b/lib/sqlalchemy/orm/util.py index 4351c8dc6..46183a47d 100644 --- a/lib/sqlalchemy/orm/util.py +++ b/lib/sqlalchemy/orm/util.py @@ -537,7 +537,11 @@ class AliasedInsp(InspectionAttr): def _entity_for_mapper(self, mapper): self_poly = self.with_polymorphic_mappers if mapper in self_poly: - return getattr(self.entity, mapper.class_.__name__)._aliased_insp + if mapper is self.mapper: + return self + else: + return getattr( + self.entity, mapper.class_.__name__)._aliased_insp elif mapper.isa(self.mapper): return self else: |