(二十八)加锁
Posted a438842265
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(二十八)加锁相关的知识,希望对你有一定的参考价值。
django 要加锁 必须先加事物
例子
from rest_framework import exceptions
from django.db import transaction
def perform_create(self, serializer): with transaction.atomic(): price = self.request.data.get(‘price‘) item_id = self.request.data.get(‘item‘) result = models.BidRecord.objects.filter(item_id=item_id).aggregate(max_price=Max(‘price‘)).select_for_update() max_price = result[‘max_price‘] if price > max_price: serializer.save(user=self.request.user) raise exceptions.ValidationError(‘已经被出价了,再涨涨.‘)
以上是关于(二十八)加锁的主要内容,如果未能解决你的问题,请参考以下文章
BetaFlight模块设计之二十八:MainPidLoop任务分析
R语言实战应用精讲50篇(二十八)-大量代码示例带你从基础到高级(附R语言代码)