Как получить данные, игнорируя при этом некоторые конкретные поля? - PullRequest
0 голосов
/ 02 июня 2018

С моделью Книга , которая использует MarkDown для поля с именем content, когда я делаю следующий запрос

Book.objects.filter(published=True).order_by('read')

Сайт становится медленным из-за поля содержимого Я думаю, что тяжелая работа происходит, когда Django пытается преобразовать эти поля в объект python .Когда я очищаю все поля content для каждой записи и оставляю их пустыми, запрос выполняется намного быстрее.

В моем случае поле content содержит большой текст.Чтобы повысить производительность, Как можно получить данные, игнорируя определенное поле?

Я хочу игнорировать content поле, например:

Book.objects.filter(published=True)<b>#.ignore_fields('content',)</b>.order_by('read')

1 Ответ

0 голосов
/ 02 июня 2018

Попробуйте использовать defer:

Book.objects.defer('content').filter(published=True).order_by('read')
...