【发布时间】:2023-04-09 05:33:01
【问题描述】:
我制作了一个带有 prrent 字段的 cmets 模型,以将评论存储为其他人的子项。
我的问题是如何在模板中显示
【问题讨论】:
标签: python django templates django-templates
我制作了一个带有 prrent 字段的 cmets 模型,以将评论存储为其他人的子项。
我的问题是如何在模板中显示
【问题讨论】:
标签: python django templates django-templates
对不起,我是在手机上写的,但我希望你能解决 顺便提一句 这是来自我自己的应用程序
假设您想制作类似 Instagram 的内容,其中每个嵌套评论都有一个回复按钮,它们都会出现在 Elder_most 评论下方。
这是一个奇怪的方法,但你也可以让每个嵌套按钮的回复按钮提交给最老的评论。这种方法是当每个回复按钮都指向其真正的父级时
这只是为了你的理解
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)
这很简单
仅使用引用名称获取所有子 cmets。
for comment in Queryset:
if comment.child is none:
#just display comment
else:
#display comment and then
#display comment.child.all()
【讨论】:
您可以使用相关的名称字段来获取子 cmets 。在模板上,您将有两个 for 循环。第一个 for 循环遍历每个父 cmets,第二个循环遍历该父元素的 childs。例如:for comment in comments :
For child_comment in comment.related_name.all():
Print child_comment
【讨论】: