diff options
Diffstat (limited to 'lib/sqlalchemy/sql/selectable.py')
-rw-r--r-- | lib/sqlalchemy/sql/selectable.py | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/sqlalchemy/sql/selectable.py b/lib/sqlalchemy/sql/selectable.py index e24585fa0..1610191d1 100644 --- a/lib/sqlalchemy/sql/selectable.py +++ b/lib/sqlalchemy/sql/selectable.py @@ -1115,7 +1115,9 @@ class Join(roles.DMLTableRole, FromClause): def is_derived_from(self, fromclause): return ( - fromclause is self + # use hash() to ensure direct comparison to annotated works + # as well + hash(fromclause) == hash(self) or self.left.is_derived_from(fromclause) or self.right.is_derived_from(fromclause) ) |