Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 评论回复仅添加到特定评论_Python_Django - Fatal编程技术网

Python 评论回复仅添加到特定评论

Python 评论回复仅添加到特定评论,python,django,Python,Django,我正在编写一个webapp,希望添加评论/回复功能。注释工作正常,但在尝试添加回复时,所有回复都会单独保存到第一条注释,即使是从其他注释添加的 我想将回复链接到其他评论 回复使用ForeignKey()关系和相关的\u管理器链接到特定的注释。 我尝试了一个for循环来从模板中的comment()模型中获取每个注释,虽然它很好地呈现了每个注释,但我似乎无法将它们链接到它们的特定回复 #models.py 类注释(models.Model): article=models.ForeignKey(ar

我正在编写一个webapp,希望添加评论/回复功能。注释工作正常,但在尝试添加回复时,所有回复都会单独保存到第一条注释,即使是从其他注释添加的

我想将回复链接到其他评论

回复使用ForeignKey()关系和相关的\u管理器链接到特定的注释。 我尝试了一个for循环来从模板中的comment()模型中获取每个注释,虽然它很好地呈现了每个注释,但我似乎无法将它们链接到它们的特定回复

#models.py
类注释(models.Model):
article=models.ForeignKey(article,on_delete=models.CASCADE)
name=models.CharField(最大长度=400)
email=models.EmailField()
text=models.TextField()
时间戳=models.DateTimeField(auto\u now\u add=True)
定义(自我):
返回“注释%s by%s”%(str(self.text)[:20],self.name)
类ReplyComment(models.Model):
comment\u reply=models.ForeignKey(comment,on\u delete=models.CASCADE,related\u name=“repries”)
name\u reply=models.CharField(最大长度=400)
text\u reply=models.TextField()
时间戳=models.DateTimeField(auto\u now\u add=True)
定义(自我):
返回“由%s回复到%s”%(self.name\u Reply,str(self.comment\u Reply))
#views.py
def物品(请求,slug):
article=article.objects.get(slug=slug)
comments=Comment.objects.filter(article=article)
#评论表
如果request.method==“POST”:
表单=评论表单(request.POST或None)
reply_form=ReplyCommentForm(request.POST或None)
如果form.is_有效():
text=form.cleaned_数据['text']
email=表单。已清理的_数据['email']
名称=表单。已清理的_数据['name']
#创建注释
注释=注释(文章=文章,文本=文本,
电子邮件=电子邮件,姓名=姓名)
comment.save()
如果答复表单有效():
name\u reply=答复形式。已清理的\u数据['name\u reply']
text\u reply=答复形式。已清理的\u数据['text\u reply']
comment=comment.objects.get(id=request.POST.get('comment\u id'))
回复注释=回复注释(名称回复=名称回复,文本回复=文本回复,注释回复=注释)
回复_comment.save()
其他:
form=CommentForm()
reply_form=ReplyCommentForm()
上下文={'article':article'form':form'reply\u form':reply\u form'comments':comments}
返回呈现(请求'main/article.html',上下文)

    {注释%中的注释为%}
  • {{comment.time_stamp} {{comment.name} {{comment.text}

    {%csrf_令牌%} 添加答复

    {{reply_form.name_reply} {{reply_form.text_reply} 回复 {%用于在comment.replements.all%中进行回复} {{reply.name_reply}}
    {{reply.text_reply}}

    {%endfor%}
  • {%endfor%}
我希望添加的每个回复都链接到他们的具体评论,并以此链接


我非常感谢您的帮助。

问题在于模态元素上的id被固定在一个注释上,因此每个注释都呈现相同的模态id。我通过向id添加{comment.id}}来修复它,使其成为动态的。非常感谢您的回复



我觉得不错。您是否使用Django admin或原始SQL验证了外键是否设置不正确?我使用Django admin验证了。我可以在那里添加对具体评论的回复。我希望能够从我的模板中添加它们。我建议您打开浏览器的检查器,并在单击其中一个“回复-评论-提交”按钮时查看发布的内容。是否可以添加您的CommentForm和ReplyCommentForm的代码?我已修复了检查模式元素@Selcuk时出现的错误。问题是模态元素上的id被固定在一个注释上,因此每个注释都呈现相同的模态id。我通过在id中添加{comment.id}}来修复它,使其成为动态的。非常感谢您的回复。