summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2014-09-24 14:49:30 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2014-09-24 14:49:30 -0400
commit42837f4bca6a0b2fad05faade7837719f872c35d (patch)
tree8f8754be287ccde15e687e1112f715cadbe0dc4b
parent360477cc3af826b5056039b9a19ec3ecb2b94ede (diff)
downloadsqlalchemy-42837f4bca6a0b2fad05faade7837719f872c35d.tar.gz
- clarify documentation on exists() that it is preferred to be in the
WHERE clause. fixes #3212
-rw-r--r--lib/sqlalchemy/orm/query.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/sqlalchemy/orm/query.py b/lib/sqlalchemy/orm/query.py
index e6b2bf537..7b2ea7977 100644
--- a/lib/sqlalchemy/orm/query.py
+++ b/lib/sqlalchemy/orm/query.py
@@ -2616,6 +2616,19 @@ class Query(object):
SELECT 1 FROM users WHERE users.name = :name_1
) AS anon_1
+ The EXISTS construct is usually used in the WHERE clause::
+
+ session.query(User.id).filter(q.exists()).scalar()
+
+ Note that some databases such as SQL Server don't allow an
+ EXISTS expression to be present in the columns clause of a
+ SELECT. To select a simple boolean value based on the exists
+ as a WHERE, use :func:`.literal`::
+
+ from sqlalchemy import literal
+
+ session.query(literal(True)).filter(q.exists()).scalar()
+
.. versionadded:: 0.8.1
"""