settingsの設定
MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.cache.CacheMiddleware',
'django.middleware.transaction.TransactionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
)
※記載順番も重要な要素らしい。
実際の設定
from django.db.transaction.autocommit
@transaction.commit_on_success
def viewfunc(request):
return
これで関数内のdelete(), save()がコミットできるらしい。
@transaction.autocommit
即時コミット
@transaction.commit_on_success
関数内の処理が正常に終了して初めてコミットする。
例外が発生するとロールバックする。
@transaction.commit_manually
マニュアルで管理する。
参考サイト: