我的网站使用了一个评级功能,用户可以创建一个新类别的请求,然后至少有100个用户必须对此请求进行评级,如果100/100个用户对此请求的评级为肯定,则应创建该类别,但我不知道如何在评级达到100/100正后创建类别模型实例投票。在
在视图.py在
def category_request_up_vote (request, pk):
category_request = get_object_or_404(CategoryRequests, pk=pk)
try:
if request.method == 'GET':
if category_request.author == request.user:
messages.error(request, 'You are trying to vote a request you created by your own. Thats not possible (Transmision ignored).')
return redirect('category_request_detail', pk=category_request.pk)
if CategoryRequests_Vote.objects.filter(voter=request.user, voted=category_request).exists():
messages.error(request, 'You already Voted this request. Double votes are not allowed (Transmision ignored).')
return redirect('category_request_detail', pk=category_request.pk)
else:
if category_request.up_vote == 100:
print("So what should i do now?")
else:
category_request.up_vote = F('up_vote') + 1
category_request.save()
CategoryRequests_Vote.objects.create(voter=request.user, voted=category_request)
messages.success(request, 'You have successfully Provided an Up-Vote for this Request.')
return redirect('category_request_detail', pk=category_request.pk)
else:
messages.error(request, 'Uuups, something went wrong, please try again.')
return redirect('category_request_detail', pk=category_request.pk)
except:
messages.error(request, 'Uuups, something went wrong, please try again.')
return redirect('category_request_detail', pk=category_request.pk)
在模型.py在
^{pr2}$
CategoryRequest模型具有类别模型需要的字段,例如title、description等
在您的
if category_request.up_vote == 100:
中使用简单的django ORM 你可以写category=Category.objects.create(title=category_request.title,description=category_request.description)
添加类别模型需要的其他字段 在下一行
category.save()
。所以现在类别被创建了。在相关问题 更多 >
编程相关推荐