擅长:python、mysql、java
<p>我同意史蒂文的观点,我想做一个观察:</p>
<ul>
<li><p>“它需要更多的输入,而不仅仅是保存的查询=Model.objects.all()。”。是的,但使用list(Model.objcts.all())的原因有很大不同。我给你举个例子,如果你把赋值给一个变量,它将执行查询,并将其保存在那里,假设你有+1M条记录,这意味着,你将有+1M条记录在一个列表中,你可以在之后立即使用,也可以不立即使用,所以我建议你只使用史蒂文所说的方法,仅使用Model.objects.all()</strong>,因为这是分配给变量的,所以只有调用该变量才能执行,从而节省了数据库调用。</p></li>
<li><p>您应该使用prefetch_related()来避免在数据库中执行许多调用,因此,它将使用django反向查找来帮助您并节省大量时间。</p></li>
</ul>