filters.module

Меахнизмы фильтрации справочников/реестров на базе ObjectPack

class objectpack.filters.AbstractFilter
Базовые классы: object

Прототип класса, описывающего фильтр для потомков AbstractFilterEngine

get_q(params)

Метод возвращает Q-объект, построенный на основе данных словаря params

Параметры:params (dict) – Словарь с лукапами
Результат:Ку-объект
Тип результата:django.db.models.Q
get_script()

Метод возвращает список строк-js-скриптов, для дополнения колонки грида

class objectpack.filters.AbstractFilterEngine(columns)
Базовые классы: object

Прототип механизма фильтрации

apply_filter(query, request, context)
Параметры:
  • query (django.db.models.query.QuerySet) – Кварисет
  • request (django.http.HttpRequest) – Реквест
  • context (m3.actions.context.DeclarativeActionContext) – Контекст
Результат:

Кварисет отфильтрованный на основе параметров запроса

Тип результата:

django.db.models.query.QuerySet

configure_grid(grid)

Метод настраивает переданный grid на использование фильтров

Параметры:grid (m3_ext.ui.panels.grids.ExtObjectGrid) – Грид
class objectpack.filters.ColumnFilterEngine(columns)
Базовые классы: objectpack.filters.AbstractFilterEngine

Механизм фильтрации, реализующий UI в виде полей ввода, встроенных в шапку таблицы

apply_filter(query, request, context)
configure_grid(grid)
class objectpack.filters.CustomFilter(xtype, parser, lookup, tooltip=u'')
Базовые классы: objectpack.filters.AbstractFilter

Фильтр, строящийся на основе xtype

get_script()
class objectpack.filters.FilterByField(model, field_name, lookup=None, tooltip=None, **field_fabric_params)
Базовые классы: objectpack.filters.AbstractFilter

Фильтр на основе поля модели

field
get_script()
parsers_map = [(<class 'django.db.models.fields.DateField'>, 'date', None), (<class 'django.db.models.fields.TimeField'>, 'time', None), (<class 'django.db.models.fields.DateTimeField'>, 'datetime', None), (<class 'django.db.models.fields.BooleanField'>, 'boolean', None), (<class 'django.db.models.fields.FloatField'>, 'float', None), (<class 'django.db.models.fields.DecimalField'>, 'decimal', None), ((<class 'django.db.models.fields.IntegerField'>, <class 'django.db.models.fields.related.ForeignKey'>), 'int', None), ((<class 'django.db.models.fields.TextField'>, <class 'django.db.models.fields.CharField'>), 'unicode', '%s__icontains')]

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

class objectpack.filters.FilterGroup(items, op=1)
Базовые классы: objectpack.filters.AbstractFilter

Группа фильтров, являющихся частью булева выражения

AND = 1

И

OR = 2

Или

get_q(params)
get_script()
class objectpack.filters.MenuFilterEngine(columns)
Базовые классы: objectpack.filters.AbstractFilterEngine

Механизм фильтрации, реализующий UI в виде выпадающих меню колонок

apply_filter(query, request, context)
configure_grid(grid)