我有这样的结构使用select_related在Django 1.7
- 组1
- 组2
- 组3
- 组2
我想打印的所有组。现在我在模板中做这个作为
<ul>
{% for group1 in group1_list %}
<li>{{ group1 }}</li>
<ul>
{% for group2 in group1.group2_set.all %}
<li>{{ group2 }}</li>
<ul>
{% for group3 in group2.group3_set.all %}
<li>{{ group3 }}</li>
{% endfor %}
</ul>
{% endfor %}
</ul>
{% endfor %}
</ul>
,但它占用了所有的数据库调用存储了很多,所以我在想,如果我可以做同样的select_related
。
我可以使用Group3.objects.all().select_related('group2','group2__group1')
并按照我的意愿打印对象{% regroup %}
标记。
当组2对象没有任何相关的组3对象时会出现问题。是否有可能从所有组1对象走过并选择组1和组2对象的所有孩子?
我不明白你为什么在问题中指定了“Django 1.7”,因为这似乎没有特定的版本。 –