Skip to main content
 首页 » 编程设计

python之GAE Django 交易

2025年05月04日17zhengyun_ustc

我一直在 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 方法。