Оптимизация быстродействия админки Django
Основной текст заметки
411 запросов - это многовато. в первую очередь добавил select_related
в get_queryset
def get_queryset(self, request):
return super().get_queryset(request).select_related('categories')
Количество запросов сразу сократилось до 314. Стал копать дальше - оказалось что для каждой категории наименование этой категории категории вычисляется безо всякого кеширования . $%##$$#@.
Пришлось добавить full_title, в котором сохраняется вычисленное длинное имя. А функция "пересчета" по всем категориям после обновления уже была.
Результат - 8 запросов.
Заметка написана: 22.07.2020
Теги заметки: Djando admin, Django