diff options
| author | mike bayer <mike_mp@zzzcomputing.com> | 2018-06-25 23:48:52 -0400 |
|---|---|---|
| committer | Gerrit Code Review <gerrit@ci.zzzcomputing.com> | 2018-06-25 23:48:52 -0400 |
| commit | d5ee9957f9027ecec37178d3327f01de0f8c7b96 (patch) | |
| tree | 6617d476f721bc6e3e0ab084be79895a37722df3 /lib/sqlalchemy | |
| parent | 441bf421cf88966393edcf5ace5a2836096022e9 (diff) | |
| parent | f683ddf16b34513d9f589202f2cdff9d0e0fad6b (diff) | |
| download | sqlalchemy-d5ee9957f9027ecec37178d3327f01de0f8c7b96.tar.gz | |
Merge "Look up adapter info for previous left side in chained query.join()"
Diffstat (limited to 'lib/sqlalchemy')
| -rw-r--r-- | lib/sqlalchemy/orm/query.py | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/sqlalchemy/orm/query.py b/lib/sqlalchemy/orm/query.py index 74d3079af..98747c680 100644 --- a/lib/sqlalchemy/orm/query.py +++ b/lib/sqlalchemy/orm/query.py @@ -2244,6 +2244,13 @@ class Query(object): left_entity = onclause._parententity + alias = self._polymorphic_adapters.get(left_entity, None) + # could be None or could be ColumnAdapter also + if isinstance(alias, ORMAdapter) and \ + alias.mapper.isa(left_entity): + left_entity = alias.aliased_class + onclause = getattr(left_entity, onclause.key) + prop = onclause.property if not isinstance(onclause, attributes.QueryableAttribute): onclause = prop |
