Django QuerySet - 内存使用/懒惰

时间:2011-10-06 07:49:18

标签: python django memory lazy-evaluation django-queryset

我有一个django模型,它有一个相对较小的字段,然后是一个有点大的字段。我们这样说:

class MyModel(models.Model):

thing = models.ForeignKey('Thing')
egg = models.TextField()
spoon = models.TextField()
race = models.FloatField()
big_field = models.TextField()

big_field仅在少数函数中需要,但是模型在整个地方都使用。如何避免将big_field存储在内存中?这是懒惰的评估吗?假设我每次迭代一个提取egg的QuerySet,这会导致big_field也存储在内存中吗?

由于

1 个答案:

答案 0 :(得分:4)

您可以强制查询获取所需字段only,以节省内存。