Merge pull request #14 from brettbeaudoin/master

Added support for "IN" operator of a WHERE clause.
This commit is contained in:
Friedrich Lindenberg 2013-06-07 01:55:13 -07:00
commit 36c5401f60

View File

@ -121,6 +121,13 @@ class Table(object):
if not len(keys):
return False
clause = [(u, row.get(u)) for u in keys]
"""
Don't update the key itself, so remove any keys from the row dict
"""
for key in keys:
if key in row.keys():
del row[key]
if ensure:
self._ensure_columns(row, types=types)
try:
@ -180,6 +187,9 @@ class Table(object):
self._ensure_columns(args)
clauses = []
for k, v in args.items():
if isinstance(v, list) or isinstance(v, tuple):
clauses.append(self.table.c[k].in_(v))
else:
clauses.append(self.table.c[k] == v)
return and_(*clauses)