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