我正在尝试制作自定义评论引擎,但我无法弄清楚如何显示嵌套评论。我使用'回复'ForeignKey来跟踪它所引用的评论。我正在使用一个级别字段来查看它的“级别”评论。
models.py:
class Post(models.Model)
name = models.CharField()
text = models.TextFiled()
class Comment(models.Model)
o_post = models.ForeignKey(Post)
reply = models.ForeignKey('self', blank=True, null=True)
level = models.IntegerField(default=1)
#others like content,author, created etc...
views.py
def PostComments(request,postpk):
post = Post.objects.get(pk=postpk)
comments = Comment.objects.filter(o_post=post).order_by('-created')
children = Comment.objects.filter(o_post=post).filter(level__gte=2)
context = {'comments':comments,'post':post,'children':children}
return render_response(stuff)
以下是我尝试显示所有内容的方法。所有1级评论都是可见的。 child.reply返回一个id,comment.pk也是如此,它们都匹配41
{% for comment in comments %}
{{comment.content}}
{% for child in children %}
{%if child.reply == comment.pk %}
{{child.content}}
{% endif %}
{% endfor %}
{% endfor %}
无论我如何构造for和if循环,我都无法弄清楚如何让它工作。感谢
答案 0 :(得分:1)
尝试比较实体,而不是pk
:
{% if child.reply == comment %}