GAE Django交易

时间:2014-06-18 22:45:22

标签: python django google-app-engine transactions

我一直在开发GAE dev_appserver,我的代码很大程度上依赖于Django的事务中间件。我已经在本地进行了测试,但它确实有效。

但是,在部署到GAE之后,不会回滚已提交的模型保存。

示例代码:

@transaction.commit_on_success
def get(self, request):
    name = request.GET.get('name')
    d = Department(name=name)
    d.save()
    raise Exception('Failed')

这是因为GAE没有尊重Django交易API,还是我的应用设置出现问题?

FYI django.middleware.transaction.TransactionMiddleware目前是MIDDLEWARE_CLASSES列表中的最后一个

1 个答案:

答案 0 :(得分:1)

根据this website,Google App Engine的Django数据库后端不支持Django事务。但是,您可以使用App Engine SDK中的run_in_transaction方法。