我有這樣的結構使用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」,因爲這似乎沒有特定的版本。 –