【发布时间】:2015-09-09 04:53:47
【问题描述】:
我正在为 Django 上的一个小型电子市场项目构建部分、类别和子类别的列表。
我有一个这样的模型:
Section > Category (FK Section) > SubCategory (FK Category) > ShopProduct (FK SubCategory)
问题是我有许多为空的类别(和子类别),因此我过滤查询集中的数据:
{% if section.shopcategory_set.count > 0 %}
如果分配给此部分的类别超过 1 个,它将过滤这些部分。 (但如果任何项目分配得更深,它不会过滤)
所以,我想从第一级循环中计算最终对象
类似:
{% for section in sections %}
{% if section.category_set.subcategory_set.shopproduct_set.count > 0 %}
{{ section.name }}
{% endif %}
{% endfor %}
【问题讨论】:
-
这样做会使您的查询很多变慢,这样做的好处可能不会超过这个......
-
@Sayse 我接受它,但我认为空链接更糟糕......