diff options
Diffstat (limited to 'lib/sqlalchemy/sql/expression.py')
-rw-r--r-- | lib/sqlalchemy/sql/expression.py | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/sqlalchemy/sql/expression.py b/lib/sqlalchemy/sql/expression.py index 2cd10720a..758f75ebe 100644 --- a/lib/sqlalchemy/sql/expression.py +++ b/lib/sqlalchemy/sql/expression.py @@ -3096,9 +3096,9 @@ class Select(_SelectBaseMixin, FromClause): if self._froms: froms.update(self._froms) - - for f in froms: - froms.difference_update(f._hide_froms) + + toremove = itertools.chain(*[f._hide_froms for f in froms]) + froms.difference_update(toremove) if len(froms) > 1 or self.__correlate: if self.__correlate: |