我正在try 自动递增Django中的一个简单计数器.我的代码如下所示:
from models import Counter
from django.db import transaction
@transaction.commit_on_success
def increment_counter(name):
counter = Counter.objects.get_or_create(name = name)[0]
counter.count += 1
counter.save()
如果我正确理解Django,这应该会将函数包装在事务中,并使增量成为原子.但是它不起作用,并且计数器更新中存在竞争条件.如何才能使此代码成为线程安全的呢?