Как лениво расшарить таблицу bootstrap с медленными данными

У нас есть научная база данных с рядом полей, которые являются "кэшированными свойствами" Django. Эти кэшированные поля свойств медленно извлекаются. Вывод таблицы (оформленной с помощью bootstrap-table), содержащей около тысячи результатов, раздражает, но это решаемо. Однако теперь, когда мы загружаем гораздо больше данных в базу данных, рендеринг этих таблиц завершается с таймаутом в 90 секунд.

Мы изучили различные варианты ускорения работы, но большинство методов не поддерживают кэшированные свойства, что не дает результата. Мы ищем временное решение, не дожидаясь решения проблемы скорости работы с кэшированными свойствами (которая является корнем проблемы).

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

Мы хотели бы сохранить эту функциональность бутстрапа:

  • Переключение столбцов (показать/скрыть столбцы) между загрузками страниц
  • Сортировка столбцов таким образом, что учитываются все данные (на или вне текущей страницы)

И мы хотим сохранить эту сложную функциональность/реализацию Django:

  • Сложные шаблоны django, которые отображают данные в каждой строке, охватывающей несколько таблиц с отношениями "многие ко многим", используя вложенные циклы и пользовательские теги:
    • Фильтруют записи из связанных таблиц M:M, которые являются результатом ограниченного способа, которым Django соединяет эти таблицы, и не соответствуют условиям поиска, когда поле связанной таблицы используется в поиске. (Я могу объяснить это подробно по запросу, если это непонятно.)
    • Корректировка подсчета результатов в javascript в связи с вышеуказанной фильтрацией
  • Отображение кэшированных свойств

Может быть, проще попытаться решить проблему медленного кэширования свойств... Есть ли способ указать Django кэшировать свойства в течение месяца или повторно кэшировать их только при загрузке новых данных?

Вернуться на верх