如何在Django样式模板中收集子注释?

时间:2013-08-22 22:54:06

标签: python django

我正在尝试制作自定义评论引擎,但我无法弄清楚如何显示嵌套评论。我使用'回复'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循环,我都无法弄清楚如何让它工作。感谢

1 个答案:

答案 0 :(得分:1)

尝试比较实体,而不是pk

{% if child.reply == comment %}