【发布时间】:2022-01-10 11:01:14
【问题描述】:
我有一个查询,在我看来是为了获取一堆团队统计对象...
team_stats = NCAABTeamStats.objects.filter(
name__name__in=teams_playing).order_by(sort)
“名称”字段之一是外键。我将 team_stats 传递给我的模板,以通过“for 循环”在图表中显示数据。
{% for team in team_stats %}
<tr>
<td>
{{ team.name }}
</td>
</tr>
{% endfor %}
所以在我的模板中,对于 team_stats 中的每个对象,它在打印 {{ team.name }} 时都会进行查询,这确实会减慢速度,尤其是当有 50-100 个团队时。
我的问题是,有没有办法打印 'team.name' 而无需每次都进行查询?
【问题讨论】:
-
您能否发布您的模型定义,即
NCAABTeamStats和Name模型。 -
如果是外键,你可以这样做
team_stats=NCAABTeamStats.objects.select_related('name').filter(name__name__in=teams_playing).order_by(sort) -
@amadousow 这正是我想要的。像魅力一样工作,非常感谢!如果你想把它作为答案,我会接受它。
标签: python django django-templates