============= Модуль tables ============= .. module:: quickapi.tables :synopsis: Обработка табличных данных для плагина QuickTables. .. versionadded:: 3.0 .. class:: QuickTable(object) Класс для преобразования Queryset в JSON данные для плагина QuickTables. .. attribute:: manager Обязательный параметр менеджера модели для наследуемых классов. .. attribute:: columns Обязательный параметр списка колонок для наследуемых классов. .. attribute:: order_columns Список колонок, по которым производится сортировка. По умолчанию: (). .. attribute:: global_search_columns Список колонок, по которым производится глобальный поиск. По умолчанию: (). .. attribute:: custom_search_columns Список колонок, по которым производится выборочный поиск. По умолчанию: (). .. attribute:: custom_exact_columns Список колонок, по которым производится выборочный поиск по точному совпадению. По умолчанию: (). .. attribute:: map_columns Словарь карты названий колонок, по которому производится сопоставление к атрибутам объекта модели. По умолчанию: {}. .. attribute:: global_filter_key Ключ глобального поиска. По умолчанию: '_search_'. .. attribute:: max_display_length Максимальный лимит объектов на страницу. По умолчанию: 100. .. method:: __init__(self, *args, **kwargs) Запускает метод ``self.validate`` .. method:: validate(self): Производит проверку правильности реализации наследуемого класса. .. method:: map_column(self, name) Производит сопоставление названия колонки к полю в базе данных. Для наследуемых классов. .. method:: render_column(self, request, row, column) Воспроизводит данные для колонки из объекта .. method:: render_objects(self, request, qs) Сериализует все полученные объекты .. method:: filtering(self, request, qs, filters) Производит фильтрацию набора данных .. method:: ordering(self, request, qs, ordering) Функция проверяет параметры сортировки и применяет только валидную .. method:: paging(self, request, qs, page, limit, orphans=0) Функция возвращает объект Page паджинатора .. method:: get_info(self, request, qs) Возвращает информацию о наборе. Для наследования. .. method:: get_context_data(self, request, page, info) Формирование контекста JSON структуры. По умолчанию возвращает словарь .. code-block:: python data = { 'objects': [], # список сериализованных объектов 'page': 1, # номер страницы 'num_pages': 9, # количество страниц 'info': None, # словарь, полученный из self.get_info } .. method:: method(self, request, filters, ordering, page, limit) Стандартное получение всех данных для вывода в JSON. Последовательность выполнения операций: #. фильтрация набора данных менеджера модели #. получение дополнительной информации из набора данных #. сортировка набора данных #. получение страницы из набора данных #. получение контекста из страницы Если требуется получить информацию до фильтрации, то следует переопределить этот метод в наследуемом классе.