Django的事务性
Posted shengulong
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django的事务性相关的知识,希望对你有一定的参考价值。
- 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的事务性的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Django Summernote 中显示编程片段的代码块?
django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE的解决办法(转)(代码片段
django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE的解决办法(转)(代码片段