diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2012-02-11 15:43:05 -0500 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2012-02-11 15:43:05 -0500 |
| commit | 0634ea79b1a23a8b88c886a8a3f434ed300691e2 (patch) | |
| tree | 68aa780526e321f55b9215544aa409cb1c9179c7 /lib/sqlalchemy/orm/relationships.py | |
| parent | 7d693180be8c7f9db79831351751a15d786b86a7 (diff) | |
| download | sqlalchemy-0634ea79b1a23a8b88c886a8a3f434ed300691e2.tar.gz | |
many fixes but still can't get heuristics to work as well as what's existing,
tests still failing
Diffstat (limited to 'lib/sqlalchemy/orm/relationships.py')
| -rw-r--r-- | lib/sqlalchemy/orm/relationships.py | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/sqlalchemy/orm/relationships.py b/lib/sqlalchemy/orm/relationships.py index 413397fda..adba2d542 100644 --- a/lib/sqlalchemy/orm/relationships.py +++ b/lib/sqlalchemy/orm/relationships.py @@ -328,7 +328,11 @@ class JoinCondition(object): _annotate_selfref(lambda col:"foreign" in col._annotations) else: def repl(element): - if self.child_selectable.c.contains_column(element): + if self.child_selectable.c.contains_column(element) and \ + ( + not self.parent_local_selectable.c.contains_column(element) + or self.child_local_selectable.c.contains_column(element) + ): return element._annotate({"remote":True}) self.primaryjoin = visitors.replacement_traverse( |
