2007年10月05日
Python | Django カスタムSQLとトランザクション
モデル API リファレンス : Django 0.96 オンラインドキュメント和訳PostgreSQL + psycopg2 + Djangoの組み合わせで、カスタムSQLで更新処理を行ってもオートコミットされていなかったので、手動でコミットしようとDBAPIで定義されている connection.commit() を実行してみたが、django.db.connectionにcommitなんて属性はないッスとエラーが出た。カスタムSQLの実行
connection や cursor は標準の Python DB-API を使っています.
カスタムSQLを使っても、トランザクション管理はDjangoで統一して行われるということだね。確かにその方がベターだ。
データベーストランザクションの管理
とりあえずview関数にautocommitデコレータを付けて解決。
一般的なWebアプリの場合はTransactionMiddlewareを入れておけば良さそうだ。
Comment