前のエントリー で書いたように、GoogleAppEngineのトランザクションは使い勝手が悪い。しかし、GAEにブログを移行しようと思うとこれは乗り越えなければならない。 GAEでトランザクションを行う条件を簡単にまとめると db.run_in_transactionにトランザクションとして実行したい関数を渡すがその関数内では 同じエンティティグループに属しているモデルで get, put, deleteのみ しか実行できない。なのでトランザクションのページに紹介されているような 1from google.appengine.ext import db 2 3class Accumulator(db.Model): 4 counter = db.IntegerProperty() 5 6def increment_counter(key, amount): 7 obj = db.get(