summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/sql/selectable.py
diff options
context:
space:
mode:
authorFederico Caselli <cfederico87@gmail.com>2021-12-04 23:08:05 +0100
committerFederico Caselli <cfederico87@gmail.com>2021-12-04 23:08:05 +0100
commitb2bc0c8e4138ccef4834a415f7be9012e1c6286e (patch)
tree4eff26049e17072bc7b65c92e7d42606720da74c /lib/sqlalchemy/sql/selectable.py
parente88dc004e6bcd1418cb8eb811d0aa580c2a44b8f (diff)
downloadsqlalchemy-b2bc0c8e4138ccef4834a415f7be9012e1c6286e.tar.gz
The where method of exists now accepts multiple cluase.
Support multiple clause elements in the :meth:`_sql.Exists.where` method, unifying the api with the on presented by a normal :func:`_sql.select` construct. Fixes: #7386 Change-Id: I5df20478008cd5167053d357cbfad8a641c62b44
Diffstat (limited to 'lib/sqlalchemy/sql/selectable.py')
-rw-r--r--lib/sqlalchemy/sql/selectable.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/sqlalchemy/sql/selectable.py b/lib/sqlalchemy/sql/selectable.py
index a82a76e53..ca3ccc6bc 100644
--- a/lib/sqlalchemy/sql/selectable.py
+++ b/lib/sqlalchemy/sql/selectable.py
@@ -6490,6 +6490,9 @@ class Exists(UnaryExpression):
See :func:`_sql.exists` for a description of usage.
+ An ``EXISTS`` clase can also be construed from a :func:`_sql.select`
+ instance by calling :meth:`_sql.SelectBase.exists`.
+
"""
_from_objects = []
@@ -6528,6 +6531,9 @@ class Exists(UnaryExpression):
:ref:`tutorial_exists` - in the :term:`2.0 style` tutorial.
+ :meth:`_sql.SelectBase.exists` - method to transform a ``SELECT`` to an
+ ``EXISTS`` clause.
+
""" # noqa E501
if args and isinstance(args[0], (SelectBase, ScalarSelect)):
s = args[0]
@@ -6642,7 +6648,7 @@ class Exists(UnaryExpression):
e.element = self._regroup(lambda element: element.select_from(*froms))
return e
- def where(self, clause):
+ def where(self, *clause):
"""Return a new :func:`_expression.exists` construct with the
given expression added to
its WHERE clause, joined to the existing clause via AND, if any.
@@ -6655,7 +6661,7 @@ class Exists(UnaryExpression):
"""
e = self._clone()
- e.element = self._regroup(lambda element: element.where(clause))
+ e.element = self._regroup(lambda element: element.where(*clause))
return e