首页 > 其他 > 详细

(二十八)加锁

时间:2020-03-18 00:21:57      阅读:69      评论:0      收藏:0      [点我收藏+]

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(‘已经被出价了,再涨涨.‘)

 

(二十八)加锁

原文:https://www.cnblogs.com/a438842265/p/12514565.html

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!