【发布时间】:2022-01-17 07:16:03
【问题描述】:
我有一个 Model,它有一个“score”属性和一个从数据库返回具有 最高分 的对象的路由( MySQL)。
我想使用同一个应用程序的多个实例(两个微服务),我担心我会面临竞争条件,两台机器都返回同一个客户端。我怎么能确保这不会发生? 返回客户端后,将被标记为 PROCESSED。
def getClient(request):
client = Client.objects.order_by('-score').filter(state="UNPROCESSED").first()
client.state = "PROCESSED"
client.save()
return HttpResponse(f"<h1>{client.name}</h1>")
【问题讨论】:
标签: django django-models django-queryset django-orm