Python / Django中的事务支持

时间:2014-10-07 03:02:46

标签: python django transactions

我正在构建一个需要事务支持的网站,以便数据库记录修改作为一个单元成功或失败。我非常喜欢Django / Python提供的对象关系映射。他们是否也提供了一个自动"回滚的交易设施。如果单元中的后续数据库修改失败,以前的模型插入?

1 个答案:

答案 0 :(得分:0)

简短的回答,是的。 Django有一堆API来控制运行查询时事务的发生方式。

答案很长,django中的事务管理API在不同版本上发生了很大变化。请查看您正在使用的django版本的文档。

我会给你一些指示。 来自database transactions in django

默认行为是django在事务中运行每个查询。查询一执行就会提交。

如果您需要将一堆ORM查询作为一个单元传递或失败,那么django会为事务管理提供装饰器/上下文管理器。

特别是,看看atomic decorator / ctxt manager或django.db.transaction模块,如果你使用的是django< 1.6