diff options
author | Federico Caselli <cfederico87@gmail.com> | 2021-12-04 23:08:05 +0100 |
---|---|---|
committer | Federico Caselli <cfederico87@gmail.com> | 2021-12-04 23:08:05 +0100 |
commit | b2bc0c8e4138ccef4834a415f7be9012e1c6286e (patch) | |
tree | 4eff26049e17072bc7b65c92e7d42606720da74c /lib/sqlalchemy/sql/selectable.py | |
parent | e88dc004e6bcd1418cb8eb811d0aa580c2a44b8f (diff) | |
download | sqlalchemy-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.py | 10 |
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 |