diff options
author | Jonathan Ellis <jbellis@gmail.com> | 2006-07-31 21:40:31 +0000 |
---|---|---|
committer | Jonathan Ellis <jbellis@gmail.com> | 2006-07-31 21:40:31 +0000 |
commit | 516c669f8a8aec24f1283fb0a6a9eeb42f24b175 (patch) | |
tree | 1b83ca5efe30a8149fdc233df624eb78195990e2 /lib/sqlalchemy/ext/sqlsoup.py | |
parent | e07d80642e7a25df47c97ef8ca6bce50ab18e099 (diff) | |
download | sqlalchemy-516c669f8a8aec24f1283fb0a6a9eeb42f24b175.tar.gz |
add update method
Diffstat (limited to 'lib/sqlalchemy/ext/sqlsoup.py')
-rw-r--r-- | lib/sqlalchemy/ext/sqlsoup.py | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/lib/sqlalchemy/ext/sqlsoup.py b/lib/sqlalchemy/ext/sqlsoup.py index ab19f6e3c..431939e2e 100644 --- a/lib/sqlalchemy/ext/sqlsoup.py +++ b/lib/sqlalchemy/ext/sqlsoup.py @@ -84,11 +84,15 @@ apply here as to the select methods. >>> db.loans.insert(book_id=book_id, user_name=user.name) MappedLoans(book_id=2,user_name='Bhargan Basepair',loan_date=None) >>> db.flush() + >>> db.loans.delete(db.loans.c.book_id==2) - >>> db.loans.delete(db.loans.c.book_id==2) # doctest: +ELLIPSIS - <...> +You can similarly update multiple rows at once. This will change the book_id to 1 in all loans whose book_id is 2: + >>> db.loans.update(db.loans.c.book_id==2, book_id=1) + >>> db.loans.select_by(db.loans.c.book_id==1) + [MappedLoans(book_id=1,user_name='Joe Student',loan_date=datetime.datetime(2006, 7, 12, 0, 0))] + Joins ===== @@ -202,7 +206,9 @@ class TableClassType(type): def _selectable(cls): return cls._table def delete(cls, *args, **kwargs): - return cls._table.delete(*args, **kwargs).execute() + cls._table.delete(*args, **kwargs).execute() + def update(cls, whereclause=None, values=None, **kwargs): + cls._table.update(whereclause, values).execute(**kwargs) def __getattr__(cls, attr): if attr == '_mapper': # called during mapper init |