我为我的模型添加了一个自定义字段(状态)。但是我想为孩子们使用自定义查询:
我的模板标签是:
def get_top_menu(context):
item = Item.objects.all()
try:
item = Item.objects.filter(position__position='top')
except ObjectDoesNotExist:
item = Item.objects.none()
return {
'nodes': item,
}
和模板:
<ul class="root">
{% recursetree nodes %}
<li>
{{ node.name }}
{% if not node.is_leaf_node %}
<ul class="children">
{{ children }}
</ul>
{% endif %}
</li>
{% endrecursetree %}
为doc
如何为children
使用自定义查询?
答案 0 :(得分:0)
查看MPTTModel实例方法文档(在“模型和管理器”部分下)。有一个get_children()方法,它以树的顺序创建一个包含模型实例的直接子节点的QuerySet。使用此方法优于ORM为实例的子项提供的反向关系的好处是,在实例是叶节点(没有子节点)的情况下,可以避免数据库查询。