Django视图创建模型对象

2024-04-25 20:21:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我的网站使用了一个评级功能,用户可以创建一个新类别的请求,然后至少有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}$

Tags: 用户returnifrequesterror类别redirectmessages
1条回答
网友
1楼 · 发布于 2024-04-25 20:21:47

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()。所以现在类别被创建了。在

相关问题 更多 >