首页 > 解决方案 > 匹配的查询不存在。不存在于 /blog/postComment

问题描述

我正在尝试在我的博客中添加评论和回复功能。但它不断向我抛出“博客评论匹配查询不存在”的错误。

def postComment(request):
    if request.method == "POST":
        comment = request.POST.get('comment')
        user = request.user
        postSno = request.POST.get('postSno')
        post = Post.objects.get(sno=postSno)
        parentSno = request.POST.get('parentSno')
        if parentSno == "":
            comment = BlogComment(comment=comment, user=user, post=post)
            comment.save()
            messages.success(request, "Your comment has been posted successfully")
        else:
            parent = BlogComment.objects.get(sno=parentSno)
            comment = BlogComment(comment=comment, user=user, post=post, parent=parent)
            comment.save()
            messages.success(request, "Your reply has been posted successfully")

标签: djangodjango-modelsdjango-viewsdjango-templatesdjango-apps

解决方案


当指定的键不存在时,该get()方法默认返回。None

所以你应该检查if parentSno is not None:而不是if parentSno == "":.

(或者,您也可以使用方法的第二个参数来更改该默认值get():(例如,请参见此处)parentSno = request.POST.get('parentSno', "")


推荐阅读