From: Jonathan Ellis Date: Thu, 5 Oct 2006 16:27:33 +0000 (+0000) Subject: add compound-where example X-Git-Tag: rel_0_3_0~83 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=24c29b9ae77b18124ecfeae2021e94c6b319b66e;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git add compound-where example --- diff --git a/lib/sqlalchemy/ext/sqlsoup.py b/lib/sqlalchemy/ext/sqlsoup.py index b8aaf2fa54..be772555d1 100644 --- a/lib/sqlalchemy/ext/sqlsoup.py +++ b/lib/sqlalchemy/ext/sqlsoup.py @@ -41,8 +41,15 @@ Field access is intuitive: >>> users[0].email u'student@example.edu' -Of course, you don't want to load all users very often. The common case is to -select by a key or other field: +Of course, you don't want to load all users very often. Let's add a WHERE clause. +Let's also switch the order_by to DESC while we're at it. + >>> from sqlalchemy import or_, and_, desc + >>> where = or_(db.users.c.name=='Bhargan Basepair', db.users.c.email=='student@example.edu') + >>> db.users.select(where, order_by=[desc(db.users.c.name)]) + [MappedUsers(name='Joe Student',email='student@example.edu',password='student',classname=None,admin=0), MappedUsers(name='Bhargan Basepair',email='basepair@example.edu',password='basepair',classname=None,admin=1)] + +You can also use the select...by methods if you're querying on a single column. +This allows using keyword arguments as column names: >>> db.users.selectone_by(name='Bhargan Basepair') MappedUsers(name='Bhargan Basepair',email='basepair@example.edu',password='basepair',classname=None,admin=1)