概述
数据库的读写操作中,事务在保证数据的安全性和一致性方面起着关键的作用,而回滚正是这里面的核心操作。Django的ORM在事务方面也提供了不少的API。有事务出错的整体回滚操作,也有基于保存点的部分回滚。本文将讨论Django中的这两种机制的运行原理。
Django利用django.db.transaction模块中的API对数据库进行事务的管理
Django provides a straightforward API in the django.db.transaction module to manage the autocommit state of each database connection.
主要函数:
1. get_autocommit(using=None)
判断事务是否自动提交
2. set_autocommit(autocommit, using=None)
设置自动提交事务
这些函数使接受一个 using 参数表示所要操作的数据库。如果未提供,则 Django 使用 "default" 数据库。
3. on_commit(do something)
事务提交后马上执行任务,例如celery任务
例如:
with transation.atomic:
#do something and commit the transaction
transaction.on_commit(lambda: some_celery_task.delay('arg1'))
怎么使用?在哪里使用?
事务是一系列的数据库操作,在数据的安全性和减少网络请求方面都有很大的优势。关于数据库事务的文章有很多,我这里就不展开讨
最后
以上就是等待树叶为你收集整理的python实现数据库事务回滚_Django数据库--事务及事务回滚的全部内容,希望文章能够帮你解决python实现数据库事务回滚_Django数据库--事务及事务回滚所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复