我一直在 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 还是我的应用设置有问题?
仅供引用 django.middleware.transaction.TransactionMiddleware 目前在 MIDDLEWARE_CLASSES 列表中排在最后
请您参考如下方法:
根据 this website , Google App Engine 的 Django 数据库后端不支持 Django 事务。但是,您可以使用 App Engine SDK 中的 run_in_transaction 方法。
