Django QuerySet - использование памяти / лень - PullRequest
1 голос
/ 06 октября 2011

У меня есть модель 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 в памяти? Это то, что делает ленивая оценка? Скажем, я перебирал QuerySet, извлекающий яйцо каждый раз, приведет ли это к тому, что big_field также будет храниться в памяти?

Спасибо

1 Ответ

4 голосов
/ 06 октября 2011

Вы можете заставить свои запросы извлекать только поля, которые вы хотите, чтобы сэкономить память.

...