summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/orm/strategy_options.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2020-01-06 21:06:10 -0500
committerMike Bayer <mike_mp@zzzcomputing.com>2020-01-07 10:50:02 -0500
commit2734439fff953a7bb8aecdedb5f851441b5122e9 (patch)
treec56e1f1e087f8ecdb89fea6c78f80731d947895b /lib/sqlalchemy/orm/strategy_options.py
parent84cb9d1f0a3f91fb5e3d4ece78b9ef94d1e5d826 (diff)
downloadsqlalchemy-2734439fff953a7bb8aecdedb5f851441b5122e9.tar.gz
Set use_mapper_path=True for with_poly subentities
Fixed regression in joined eager loading introduced in 1.3.0b3 via :ticket:`4468` where the ability to create a joined option across a :func:`.with_polymorphic` into a polymorphic subclass using :meth:`.RelationshipProperty.of_type` and then further along regular mapped relationships would fail as the polymorphic subclass would not add itself to the load path in a way that could be located by the loader strategy. A tweak has been made to resolve this scenario. Fixes: #5082 Change-Id: I1c7b8d70ed94436c655e433bf34394b13d384c35
Diffstat (limited to 'lib/sqlalchemy/orm/strategy_options.py')
-rw-r--r--lib/sqlalchemy/orm/strategy_options.py1
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/sqlalchemy/orm/strategy_options.py b/lib/sqlalchemy/orm/strategy_options.py
index 9cc9cd157..b123ecc5d 100644
--- a/lib/sqlalchemy/orm/strategy_options.py
+++ b/lib/sqlalchemy/orm/strategy_options.py
@@ -312,6 +312,7 @@ class Load(HasCacheKey, Generative, MapperOption):
existing = path.entity_path[prop].get(
self.context, "path_with_polymorphic"
)
+
if not ext_info.is_aliased_class:
ac = orm_util.with_polymorphic(
ext_info.mapper.base_mapper,