码迷,mamicode.com
首页 > 其他好文 > 详细

Django的事务性

时间:2019-01-29 22:03:51      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:stc   *args   ...   cti   util   tool   weixin   ref   war   

 

  • Django默认是自动提交的
  • 使用TestCase的每个test用例都是事务性的。如果不想这样,可以使用TransactionTestCase 替代
  • Django自动保证delete()/update()等包含多个查询操作的完整性
  • Django事务性控制会有一定的性能损耗

 

在settings.py设置:

DATABASES = {
        ‘default‘: {
            ……
            ‘ATOMIC_REQUESTS‘: True,
        }
    }

同一个http请求对应的所有sql都放在一个事务中执行(要么所有都成功,要么所有都失败)。是全局性的配置,如果要对某个http请求放水(然后自定义事务),可以用non_atomic_requests修饰器

from django.db import transaction

class xxx(xxxView):
    @transaction.non_atomic_requests
    def post(self, request, *args, **kwargs):
        ...

 

 

参考:

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

https://blog.csdn.net/weixin_33127753/article/details/84033204

Django的事务性

标签:stc   *args   ...   cti   util   tool   weixin   ref   war   

原文地址:https://www.cnblogs.com/shengulong/p/10335835.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!