Django在呈现temp之前预先加载相关对象

2024-04-20 02:43:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我在呈现模板时有一个性能问题,因为当我呈现N个表单时,每个表单都会通过一个查询通过外键加载一个相关的对象。在

这就是我的处境

我有一个属于玩家模型(1对多)的统计模型。在change_视图模板中,我呈现N个统计表单,并为每个表单呈现相关的播放器(名字、姓氏)。在

这是一个简单的统计表

class StatisticForm(ModelForm):
   class Meta:
     model = Statistic

我怎样才能用统计表加载播放器?在


Tags: 对象模型视图模板表单玩家性能change
1条回答
网友
1楼 · 发布于 2024-04-20 02:43:09

您可以使用^{}来解决这个问题,正如您所说:“我呈现N个统计表单…”并立即获取相关对象:

formset = StatisticFormSet(queryset=Statistic.objects.select_related('player').all())

注意这里的关键不是表单集本身,而是创建queryset时.select相关的('player')的用法。ModelFormSet的用法只是建议您更轻松地处理所有这些表单。在

希望有帮助。在

相关问题 更多 >