【发布时间】:2018-03-07 18:54:19
【问题描述】:
我为每次使用都有一个模型字段,用于跟踪他们在我的网站上的得分。每次用户做一些事情时,我都想从他们的分数中增加或减少。
在这种特殊情况下,我想在用户在我的网站上发布帖子时更改他们的得分。我可以访问用户的分数,但不能修改它。这是我目前所拥有的:
def createPost(request):
user = UserProfile.objects.get(user=request.user)
current_score = user.user_score
if request.method == 'POST':
form = PostForm(request.POST)
if form.is_valid():
...
user.user_score = current_score - 1
...
else:
form = PostForm()
return render(request,'feed/userpost_form.html',{'form':form})
我没有收到任何错误并且发布帖子工作正常,只是没有修改用户的分数。另外,我正在使用 Django 1.11
【问题讨论】:
-
user.save()不是不见了吗? -
@andi 是的,就是这样。我的小疏忽。谢谢
-
注意竞争条件。