Python Django子类别
我想打印每个主要类别的子类别名称。下面的代码现在显示每个主类别的所有子类别。我该怎么办 index.htmlPython Django子类别,python,django,django-templates,Python,Django,Django Templates,我想打印每个主要类别的子类别名称。下面的代码现在显示每个主类别的所有子类别。我该怎么办 index.html 我假设您的类别具有主类别的外键。在这种情况下,你可以这样做 {% for main_cat in main_cat_list %} <li class="subMenu"><a>{{ main_cat.main_category_name }}</a> <ul> {% for sub_cat in main_cat.
我假设您的类别具有主类别的外键。在这种情况下,你可以这样做
{% for main_cat in main_cat_list %}
<li class="subMenu"><a>{{ main_cat.main_category_name }}</a>
<ul>
{% for sub_cat in main_cat.category_set.all %}
<li><a href="products.html"><i class="icon-chevron-right"></i>{{ sub_cat.category_name }}</a></li>
{% endfor %}
</ul>
</li>
{% endfor %}
{main_cat_列表%中的main_cat的%
{%endfor%}
{%endfor%}
主类别和类别模型之间的关系是什么?显示你的models.py文件。如果你在MainCat和类别模型之间有一对多关系,那么你可以像{%for MainCat in main_cat_list%}{%for MainCat.cat_list%}{{{subCat.name}{%endfor%}{%endfor%}
感谢你的回复。完美的解决方案是嵌套for循环,如下所示:{main_cat.category_set.all%}{%endfor%}非常感谢。我之前已经想出了这个解决方案。忘了分享。这很有效。谢谢你的回复。
from django.shortcuts import render
from .models import Product, Category, Main_Category
def homePageView(request):
main_cat_list = Main_Category.objects.all()
cat_list = Category.objects.all()
context = {'main_cat_list': main_cat_list, 'cat_list': cat_list}
return render(request, 'index.html', context)
{% for main_cat in main_cat_list %}
<li class="subMenu"><a>{{ main_cat.main_category_name }}</a>
<ul>
{% for sub_cat in main_cat.category_set.all %}
<li><a href="products.html"><i class="icon-chevron-right"></i>{{ sub_cat.category_name }}</a></li>
{% endfor %}
</ul>
</li>
{% endfor %}