2014-10-07 43 views
-2

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

+0

你能提供你正在使用Django的版本看看atomic 装饰/ ctxt经理或django.db.transaction模块? – srj 2014-10-07 05:38:55

回答

0

简短的回答,是的。 Django有许多API来控制运行查询时事务的发生。

很长的答案,django中的事务管理API在不同的版本上有很大的改变。请检查您正在使用的django版本的文档。

我会给你留下一些提示。 from database transactions in django

默认行为是django运行事务中的每个查询。查询在执行后立即提交。

如果您需要一堆ORM查询作为单元通过或失败,那么django提供了用于事务管理的修饰器/上下文管理器。

特别是,如果你正在使用Django < 1.6