Могут django поля ленивой загрузки в модели?

Одна из моих django моделей имеет большое TextField который я часто не должен использовать. Существует ли способ сказать django "ленивой загрузке" это поле? т.е. не потрудиться вытягивать его от базы данных, если я явно не прошу его. Я трачу впустую большую память и пропускную способность, вытягивающую это TextField в Python каждый раз я обращаюсь к этим объектам.

Альтернатива должна была бы составить новую таблицу для содержания этого поля, но я скорее избегу, что сложность, если я могу.

15
задан Leopd 16 June 2010 в 23:31
поделиться

1 ответ

Эта функция реализуется при выполнении запроса с использованием оператора defer () вместо определения модели. Проверьте это здесь, в документации: http://docs.djangoproject.com/en/dev/ref/models/querysets/#defer

Фактически, ваше альтернативное решение рефакторинга и переноса данных в другую таблицу - действительно хорошее решение. Некоторые люди скажут, что необходимость в отложенной загрузке полей означает недостаток дизайна, и данные должны быть смоделированы по-другому.

Однако работает любой способ!

14
ответ дан 1 December 2019 в 02:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: