У меня есть следующие функции, чтобы определить, кто загрузил определенную книгу:Оптимизированный Django QuerySet
@cached_property
def get_downloader_info(self):
return self.downloaders.select_related('user').values(
'user__username', 'user__full_name')
Поскольку я только с помощью двух полей, имеет ли смысл использовать .defer()
на остальных полях?
Я пытался использовать .only()
, но я получаю сообщение об ошибке, что некоторые поля не являются сериализуемыми JSON.
Я открыт для всех предложений, если таковые имеются, для оптимизации этого набора запросов.
Спасибо!
вы проверить запрос, который генерируется? Пример: 'self.downloaders.select_related ('user'). Values ( 'user__username', 'user__full_name'). Query' вы можете проанализировать это, чтобы убедиться, что это действительно стоит оптимизировать. – karthikr
@karthikr Где бы я нашел вывода, чтобы определить, следует ли его оптимизировать? – jape
какой бэкэнд базы данных вы используете? –