如何在Django中获取没有命中数据库的相关集合模型

时间:2014-02-21 06:09:20

标签: django django-models django-queryset django-select-related django-related-manager

在这里,您将始终获得两个单独的数据库调用,并且在任何地方添加select_related()都无济于事。一个额外的数据库调用并不重要。

<ul>
{% for obj in myobjects %}
    <li>{{ myobj.name }}</li>
    <ul>
         {% for relobj in myobj.backwardsrelationship_set.all %} {# hit database at every row #}
         <li>{{ relobj.name }}</li>
         {% endfor %}
    </ul>
{% endfor %}
</ul>

这里有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我找到了解决方案

prefetch_related可以解决此问题

Publisher.objects.filter(城市= 'NY')。prefetch_related( 'book_set')