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>
但是,输出的列表是所有线程的列表。它们都没有联系在一起。
有什么想法吗?
答案 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页面中,我看到一个节点树按字母顺序排列并带有缩进。