Django 中关于原子性,使用@transaction.atomic 还是@transaction.commit_on_success?

2014-09-24 18:12:23 +08:00
 Melodic
有没有人解释一下,貌似atomic适用的范围更广一些,但是极大的影响效率。
5192 次点击
所在节点    Python
3 条回复
yueyoum
2014-09-24 18:44:38 +08:00
应该用 transaction.atomic

https://docs.djangoproject.com/en/dev/topics/db/transactions/

commit_on_success 是旧API,在django1.8以后会移除

并且, commit_on_success 从文档来看 只能用作装饰器

但atomic 除了装饰器,还可以用于 with 语法

with transaction.atomic():
....xxx
Melodic
2014-09-25 09:14:07 +08:00
@yueyoum 谢谢。话说1.8好遥远啊
ziming2018
2015-09-16 11:16:38 +08:00
@Melodic 不遥远,早就出来了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/135455

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX