美文网首页
Django 事务管理

Django 事务管理

作者: SSRSGJYD | 来源:发表于2018-10-17 10:12 被阅读0次
    Django Transaction:

    目的:保证操作的原子性,操作必须全部成功,否则就会回滚操作。

    用法:

    1. 装饰器
    @transaction.commit_on_success
    # do something
    
    1. with语句
    with transaction.commit_on_success():
       # do something
    
    1. 函数调用方式
    transaction.commit_on_success(func)
    
    Django 数据库加锁
    • 乐观锁:在并发情况较少时使用,先对数据库进行操作,然后在操作后判断数据库是否与操作前状态相同(即没有被其他过程修改过),如果被修改则放弃此次操作。
    • 悲观锁:在并发情况较多时使用,在操作前对数据库加锁。
    MyModel.objects.select_for_update().sql_func()
    

    参考资料:
    https://www.cnblogs.com/junneyang/p/6297177.html
    https://blog.csdn.net/m0_37714245/article/details/82027543

    相关文章

      网友评论

          本文标题:Django 事务管理

          本文链接:https://www.haomeiwen.com/subject/pqrlzftx.html