Оптимизация быстродействия админки Django

Основной текст заметки

411 запросов - это многовато. в первую очередь добавил select_related в get_queryset

def get_queryset(self, request):
    return super().get_queryset(request).select_related('categories')

Количество запросов сразу сократилось до 314. Стал копать дальше - оказалось что для каждой категории наименование этой категории категории вычисляется безо всякого кеширования . $%##$$#@.

Пришлось добавить full_title, в котором сохраняется вычисленное длинное имя. А функция "пересчета" по всем категориям после обновления уже была.

Результат - 8 запросов.

Оптимизация быстродействия админки Django

Заметка написана: 22.07.2020

Теги заметки: Djando admin, Django