diff options
author | mike bayer <mike_mp@zzzcomputing.com> | 2017-05-23 12:08:51 -0400 |
---|---|---|
committer | Gerrit Code Review <gerrit@awstats.zzzcomputing.com> | 2017-05-23 12:08:51 -0400 |
commit | 1d0067a873a8e701b5eb8246fa6a883521c76491 (patch) | |
tree | 9825fe51449064e39fdd0a2c1ec5bb3ed0e5b51c /lib/sqlalchemy/orm/relationships.py | |
parent | 7fc7492d86f6e5ca105743a184cd07190e9f9b28 (diff) | |
parent | 1c692f019b16ff4f3eb17ea8d09731837cc3be76 (diff) | |
download | sqlalchemy-1d0067a873a8e701b5eb8246fa6a883521c76491.tar.gz |
Merge "Add clause adaptation for AliasedClass to with_parent()"
Diffstat (limited to 'lib/sqlalchemy/orm/relationships.py')
-rw-r--r-- | lib/sqlalchemy/orm/relationships.py | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/sqlalchemy/orm/relationships.py b/lib/sqlalchemy/orm/relationships.py index 43f53aec5..97adf4d8b 100644 --- a/lib/sqlalchemy/orm/relationships.py +++ b/lib/sqlalchemy/orm/relationships.py @@ -1355,10 +1355,16 @@ class RelationshipProperty(StrategizedProperty): mapperlib.Mapper._configure_all() return self.prop - def _with_parent(self, instance, alias_secondary=True): + def _with_parent(self, instance, alias_secondary=True, from_entity=None): assert instance is not None + adapt_source = None + if from_entity is not None: + insp = inspect(from_entity) + if insp.is_aliased_class: + adapt_source = insp._adapter.adapt_clause return self._optimized_compare( - instance, value_is_parent=True, alias_secondary=alias_secondary) + instance, value_is_parent=True, adapt_source=adapt_source, + alias_secondary=alias_secondary) def _optimized_compare(self, state, value_is_parent=False, adapt_source=None, |