読者です 読者をやめる 読者になる 読者になる

0.3から0.4へ(2)

SQLAlchemy

0.4beta6が出ていますが、正式版はいつ頃になるのでしょうか。
今日学習したことのメモ。

Sessionはインスタンス化しなくてもよい

scoped_sessionを使っている場合は、Sessionオブジェクトをインスタンス化しなくてもOK。

# オブジェクトを取得
comment = Session.query(Comment).get(comment_id)

# DBから削除して
Session.delete(comment)

# ここでコミット
Session.commit()

select, get_byは撤廃された

Queryオブジェクトのselect, selectone等のselectXXXのようなメソッドと、get_byは撤廃されました。代わりにfilter, filter_byなどのメソッドを使います。
0.3で、

entry = session.query(Entry).get_by(blog_id=bid, entry_id=eid)

のように書いていたクエリが、0.4では、

entry = session.query(Entry).filter_by(blog_id=bid, entry_id=eid).first()

のようになります。