如何在 Django MPTT 中显示子元素?

How to display child element in Django MPTT?

我正在尝试调用模型的父元素和子元素,我已经阅读了 MPTT 模型文档。我按照文档中的说明进行操作,但我的模板无法打印 children

这个问题的可能原因是什么?

这是我的观点:

def category_view(request):
category = Categories.objects.all()
brands = Brands.objects.all()
context ={
    'category':category,
    'brands':brands,
       
            
}
return render(request,'./ecommerce/categories.html', context)

这是我的模板 HTML:

{% load mptt_tags %}
     {% recursetree category%}
        <div class="category-wrap mb-4">
            <div class="category category-group-image br-sm">
                <div class="category-content">
                    <h4 class="category-name"><a href="">{{ node.name }}</a>
                    </h4>
                    
                    <ul class="category-list">
                        {% if not node.is_leaf_node %}
                        <li><a href="">{{children}}</a></li>
                        {% endif %}
                       
                    </ul>
                    
                </div>
                
            </div>
        </div>
        <!-- End of Category Wrap -->
        
        {% endrecursetree %}

父元素已打印但子元素未打印

经过大量的尝试和尝试,通用方法解决了我的问题。其他有类似问题的人可以从我的回答中受益,因此发布解决方案。

观看次数:

category = Categories.objects.filter(parent=None)

模板:

{% for category in categories %}
        <div class="category-wrap mb-4">
            <div class="category category-group-image br-sm">
                <div class="category-content">
                    <h4 class="category-name"><a href="{% url 'ecommerce:item_by_category' category.slug|slugify %}">{{ category.name }}</a>
                    </h4>
                    
                    <ul class="category-list">
                        {% for cat in category.get_children %}              
                        <li><a href="/categories/{{ cat.id }}/">{{  cat.name }}</a> </li> 
                        {% endfor %}
                        
                      
                       
                        
                       
                    </ul>
                    
                </div>
                
            </div>
        </div>
        <!-- End of Category Wrap -->
        
        {% endfor %}