我有这个结构
我想要打印所有群组。现在我在模板中这样做
<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对象的所有子对象?