Модуль tables

Добавлено в версии 3.0.

class QuickTable(object)

Класс для преобразования Queryset в JSON данные для плагина QuickTables.

manager

Обязательный параметр менеджера модели для наследуемых классов.

columns

Обязательный параметр списка колонок для наследуемых классов.

order_columns

Список колонок, по которым производится сортировка. По умолчанию: ().

global_search_columns

Список колонок, по которым производится глобальный поиск. По умолчанию: ().

custom_search_columns

Список колонок, по которым производится выборочный поиск. По умолчанию: ().

custom_exact_columns

Список колонок, по которым производится выборочный поиск по точному совпадению. По умолчанию: ().

map_columns

Словарь карты названий колонок, по которому производится сопоставление к атрибутам объекта модели. По умолчанию: {}.

global_filter_key

Ключ глобального поиска. По умолчанию: ‘_search_’.

max_display_length

Максимальный лимит объектов на страницу. По умолчанию: 100.

__init__(self, *args, **kwargs)

Запускает метод self.validate

validate(self):

Производит проверку правильности реализации наследуемого класса.

map_column(self, name)

Производит сопоставление названия колонки к полю в базе данных. Для наследуемых классов.

render_column(self, request, row, column)

Воспроизводит данные для колонки из объекта

render_objects(self, request, qs)

Сериализует все полученные объекты

filtering(self, request, qs, filters)

Производит фильтрацию набора данных

ordering(self, request, qs, ordering)

Функция проверяет параметры сортировки и применяет только валидную

paging(self, request, qs, page, limit, orphans=0)

Функция возвращает объект Page паджинатора

get_info(self, request, qs)

Возвращает информацию о наборе. Для наследования.

get_context_data(self, request, page, info)

Формирование контекста JSON структуры. По умолчанию возвращает словарь

data =  {
    'objects': [],  # список сериализованных объектов
    'page': 1,      # номер страницы
    'num_pages': 9, # количество страниц
    'info': None,   # словарь, полученный из self.get_info
}
method(self, request, filters, ordering, page, limit)

Стандартное получение всех данных для вывода в JSON. Последовательность выполнения операций:

  1. фильтрация набора данных менеджера модели
  2. получение дополнительной информации из набора данных
  3. сортировка набора данных
  4. получение страницы из набора данных
  5. получение контекста из страницы

Если требуется получить информацию до фильтрации, то следует переопределить этот метод в наследуемом классе.