2011-10-06 80 views
1

我有一個django模型,它有一個相對較小的字段負載,然後一個巨大的。比方說,像這樣:Django QuerySet - 內存使用情況/懶惰

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被存儲在內存中?這是懶惰的評估正在做什麼?說我每次迭代QuerySet提取雞蛋,這是否會導致big_field被存儲在內存中呢?

感謝

+0

你確定big_field是個問題嗎?你有沒有基準測試內存使用率?你能否提供你如何證明這是造成問題的細節?你能具體說明這是什麼問題嗎?緩慢?崩潰? –

回答

4

你可以強迫你的查詢獲取only你想要的領域,以節省內存。