我想我的类别,以显示在该类别包括后代类别的所有项目,所以父类别包含子类别的所有项目。
我尝试将此方法添加到models.py中的Category类中
def get_all_products(self):
# To display all items from all subcategories
return Product.objects.filter(category__in=Category.objects.get_descendants(include_self=True))
字符串
并将其添加到我的template.html,但它不工作。我做错了什么?
<li>{{ product.product_name }}</li>
{% empty %}
<li>No items</li>
{% endfor %}
型
3条答案
按热度按时间lndjwyie1#
我已经意识到我错在哪里了,正确的代码是:
第一个月
{% for product in product.get_all_products %} <li>{{ product.product_name }}</li> {% empty %} <li>No items</li> {% endfor %}
个ukxgm1gy2#
在视图函数中,我用途:
字符串
3b6akqbq3#
例如,您可以在
views.py
中使用get_descendants()获取某个类别的所有后代,如下所示。* 如果include_self
是True
,则QuerySet
还将包括模型示例本身,我不建议使用当前未维护的Django mptt。插入,使用Django treebeard:字符串