渲染模板时遇到性能问题,因为当我渲染N个表单时,对于每个表单,它会通过带有查询的外键加载相关对象。
这是我的情况
我有一个属于玩家模型的统计模型(1到多个)。在change_view模板中,我呈现N个统计表单,并为每个表单,还有相关的Player(名字,姓氏)。
以下是简单统计表格
class StatisticForm(ModelForm):
class Meta:
model = Statistic
如何以统计形式急切加载播放器?
答案 0 :(得分:0)
您可以使用ModelFormSet
解决此问题,正如您所说:“我渲染N个统计表格......”并立即获取相关对象:
formset = StatisticFormSet(queryset = Statistic.objects.select_related('player')。all())
请注意,此处的关键不是formset本身,而是在创建查询集时使用.select_related('player')。 ModelFormSet用法只是一个更容易处理所有这些表单的建议。
希望有所帮助。