diff options
author | Jonathan Ellis <jbellis@gmail.com> | 2006-07-30 04:04:26 +0000 |
---|---|---|
committer | Jonathan Ellis <jbellis@gmail.com> | 2006-07-30 04:04:26 +0000 |
commit | 0774a9f220bcc36c3ee96286d5049b60ef7f188d (patch) | |
tree | 1533273920740f8e48a085966d22770b47df9250 /lib/sqlalchemy/ext | |
parent | b8895c5ffc20d35f5210686e3bf867b3c0fe6fe7 (diff) | |
download | sqlalchemy-0774a9f220bcc36c3ee96286d5049b60ef7f188d.tar.gz |
add mappedtable.delete support
Diffstat (limited to 'lib/sqlalchemy/ext')
-rw-r--r-- | lib/sqlalchemy/ext/sqlsoup.py | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/lib/sqlalchemy/ext/sqlsoup.py b/lib/sqlalchemy/ext/sqlsoup.py index 0ff0d39fd..2a0fd84c9 100644 --- a/lib/sqlalchemy/ext/sqlsoup.py +++ b/lib/sqlalchemy/ext/sqlsoup.py @@ -65,7 +65,8 @@ statement when you flush.) To finish covering the basics, let's insert a new loan, then delete it: - >>> db.loans.insert(book_id=db.books.selectfirst(db.books.c.title=='Regional Variation in Moss').id, user_name=user.name) + >>> book_id = db.books.selectfirst(db.books.c.title=='Regional Variation in Moss').id + >>> db.loans.insert(book_id=book_id, user_name=user.name) MappedLoans(book_id=2,user_name='Bhargan Basepair',loan_date=None) >>> db.flush() @@ -73,6 +74,15 @@ To finish covering the basics, let's insert a new loan, then delete it: >>> db.delete(loan) >>> db.flush() +You can also delete rows that have not been loaded as objects. Let's do our insert/delete cycle once more, +this time using the loans table's delete method: + >>> 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).execute() # doctest: +ELLIPSIS + <...> + Joins ===== @@ -190,6 +200,8 @@ class TableClassType(type): if attr == '_mapper': # called during mapper init raise AttributeError() + if attr in ['delete']: + return getattr(cls._table, attr) return getattr(cls._mapper, attr) |