我已经制作了一个评论模型与prarent字段存储评论作为其他人的孩子。
我的问题是如何在模板中显示它
答案 0 :(得分:0)
您可以使用相关名称字段来获取子评论。在模板上,您将有两个for循环。第一个for循环遍历每个父注释,第二个循环遍历该父元素的chillds。例如:for comment in comments :
For child_comment in comment.related_name.all():
Print child_comment
答案 1 :(得分:0)
抱歉,我已经在移动设备上写过此内容,但我希望您能解决这个问题 BTW 这来自我自己的应用
让我们说你想制作类似Instagram的东西,每个嵌套的评论都有一个回复按钮,它们都会出现在最近评论之下。
这是一种奇怪的方法,但您也可以将每个嵌套按钮的回复按钮提交给年龄最大的评论。这种方法是每个回复按钮引用其真实父级
这只是为了您的理解
make a model
Comments
Parent : MantToMany(self refername = child null=true)
User: ForeignKey(user)
Text: TextField
Likes: ForeignKey(comments_likes)
Post: ForeignKey(Posts)
我已经制作了一个功能,可以获取最早的评论并将其保存在最早的评论中
Def Eldermost_comment(comment):
If comment.parent is none:
pass
Else:
comment_ = Eldermost_comment(comment.parent)
comment.parent = comment_
在presave信号中调用它,这将为每个嵌套注释提供相同的父
Queryset = comments.objects.all.filter(post=123456)
它很容易
只需使用引用名称即可获取所有子注释。
for comment in Queryset:
if comment.child is none:
#just display comment
else:
#display comment and then
#display comment.child.all()