summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/sqlalchemy/orm/query.py13
1 files changed, 8 insertions, 5 deletions
diff --git a/lib/sqlalchemy/orm/query.py b/lib/sqlalchemy/orm/query.py
index ad7b9130b..f68a30917 100644
--- a/lib/sqlalchemy/orm/query.py
+++ b/lib/sqlalchemy/orm/query.py
@@ -882,12 +882,15 @@ class Query(object):
a subquery as returned by :meth:`.Query.subquery` is
embedded in another :func:`~.expression.select` construct.
- """
+ """
- self._correlate = self._correlate.union(
- _interpret_as_from(s)
- if s is not None else None
- for s in args)
+ for s in args:
+ if s is None:
+ self._correlate = self._correlate.union([None])
+ else:
+ self._correlate = self._correlate.union(
+ sql_util.surface_selectables(_interpret_as_from(s))
+ )
@_generative()
def autoflush(self, setting):