django-mptt没有正确地将数据链接在一起

时间:2010-12-12 18:39:14

标签: python django mptt

Hay,我正在使用MPTT从包含对话的模型中创建一些树状数据,我希望它们可以通过“投票”字段进行排序。

此模型目前看起来像这样,非常基本。

class Thread(MPTTModel):
    message = models.CharField(max_length=100)
    parent = models.ForeignKey('self', null=True, blank=True, related_name='children')
    votes = models.IntegerField()

    class MPTTMeta:
        order_insertion_by=['votes']

如您所见,我们有一个消息字段,以及链接到Thread模型的父FK和一个投票。

在我的观点中,我有这个

threads = Thread.tree.all()
    data = {
        'threads':threads
    }
    return render_to_response("show.html",data )

然后在我的模板中

{% load mptt_tags %}

<ul class="root">
        {% recursetree d %}
            <li>
                {{ node.title }}
                {% if not node.is_leaf_node %}
                    <ul class="children">
                        {{ children }}
                    </ul>
                {% endif %}
            </li>
        {% endrecursetree %}
</ul>

但是,输出的列表是所有线程的列表。它们都没有联系在一起。

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

{% load mptt_tags %}
<ul class="root">
    {% recursetree nodes %}            
        <li>
            {{ node.message }}
            {% if not node.is_leaf_node %}
                <ul class="children">
                    {{ children }}
                </ul>
            {% endif %}
        </li>
    {% endrecursetree %}
</ul>

在观点中我有:

threads = Thread.tree.all()  
data = {  
    'nodes':threads  
}
return render_to_response("show.html",data )

在html页面中,我看到一个节点树按字母顺序排列并带有缩进。