Go教程

Django当中使用数据库锁

本文主要是介绍Django当中使用数据库锁,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

如何在Django当中使用数据库锁呢?局部事务锁。通过上下文管理。

 # 事务
        with transaction.atomic():
            # 在数据库中加锁  select * from customer where id in [11,22] for update
            origin_queryset = models.Customer.objects.filter(id__in=pk_list, status=2, consultant__isnull=True).select_for_update()
            if len(origin_queryset) == len(pk_list): # 确保批量添加操作的个数和移到私户的个数一致才可以。
                models.Customer.objects.filter(id__in=pk_list, status=2, consultant__isnull=True).update(consultant_id=current_user_id)
            flag = True
        if not flag:
            return HttpResponse('手速太慢了,选中的客户已被其他人申请,请重新选择')
select_for_update()就是上锁。相当于select * from customer where id in [11,22] for update。
这篇关于Django当中使用数据库锁的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!