优化Django查询
我有一个页面,用户可以在其中查看特定产品的评论列表 在视图中,我使用以下内容获取列表: comments=product.comments.all.order_by'-timestamp' 模板中的这一部分:优化Django查询,django,django-templates,django-queryset,Django,Django Templates,Django Queryset,我有一个页面,用户可以在其中查看特定产品的评论列表 在视图中,我使用以下内容获取列表: comments=product.comments.all.order_by'-timestamp' 模板中的这一部分: 1 {% if comments %} 2 {% for comment in comments %} 3 <div class="comment"> 4 <a href="/user/{{ product.author }
1 {% if comments %}
2 {% for comment in comments %}
3 <div class="comment">
4 <a href="/user/{{ product.author }}/">{{ comment.author }}</a>
5 <br>{{ comment.text }}
6 </div>
7 {% endfor %}
8 {% endif %}
使用django调试工具栏,当我转到产品页面时,我可以看到django执行许多查询,列表中有许多注释。例如,在包含10条评论的评论列表的产品页面中,Django执行大约15个查询。如果我提交新的评论,查询数将上升到16
如果我试图删除{{comment.author}}第4行,如果我提交新的注释,查询将减少到一个固定的数字。如何对此进行优化
注意:comment.author是django.contrib.auth.models.User的外键我认为这是一个与选择相关的例子
我认为这是一个与select_相关的案例
我不确定你是否需要担心这方面的优化,除非你期望每个产品都有100或1000条评论。当你做这个查询时,你是否觉得需要花很长时间才能得到这10条评论?我不确定你是否需要担心这方面的优化,除非你期望每个产品都有100或1000条评论。当你做这个查询时,你是否觉得这10条评论太长了?是的,我刚刚找到了。令人惊叹的是的,我刚找到。令人惊叹的