Одна из моих django моделей имеет большое TextField
который я часто не должен использовать. Существует ли способ сказать django "ленивой загрузке" это поле? т.е. не потрудиться вытягивать его от базы данных, если я явно не прошу его. Я трачу впустую большую память и пропускную способность, вытягивающую это TextField
в Python каждый раз я обращаюсь к этим объектам.
Альтернатива должна была бы составить новую таблицу для содержания этого поля, но я скорее избегу, что сложность, если я могу.
Эта функция реализуется при выполнении запроса с использованием оператора defer ()
вместо определения модели. Проверьте это здесь, в документации:
http://docs.djangoproject.com/en/dev/ref/models/querysets/#defer
Фактически, ваше альтернативное решение рефакторинга и переноса данных в другую таблицу - действительно хорошее решение. Некоторые люди скажут, что необходимость в отложенной загрузке полей означает недостаток дизайна, и данные должны быть смоделированы по-другому.
Однако работает любой способ!