Django:预取相关:for循环:根据我们对for循环的调用方式,sql调用的数量有所不同

问题描述

在django中,我试图了解预取:

预取后,我有两个for循环方案

symbollist = SymbolList.objects.prefetch_related('some_related_name')[0:10]
for i in range(0,10):
    print(symbollist[i].some_related_name)

现在它调用sql N + 1次

哪里

symbollist = SymbolList.objects.prefetch_related('some_related_name')[0:10]
for symbol in symbollist:
    print(symbol.some_related_name)

这只会调用两个sql

为什么

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)