Проблема:
У меня есть некоторые иерархические данные в приложении Django, которые будут переданы в javascript. Некоторые из этих данных должны быть отфильтрованы из javascript на основе состояния нескольких классов данных в javascript. Мне нужен способ определения фильтров в бэкэнде (Django), который затем будет применен в javascript.
Фильтры должны выглядеть следующим образом:
dataobject.key operator value
Фильтры также могут быть условными:
if dataobject.key operator value
and dataobject.key2 operator value
or dataobject.key3 operator value
И, возможно, любая комбинация условных выражений, таких как:
if (condition and condition) or condition
Некоторые ключи будут иметь набор допустимых значений, а другие ключи будут иметь свободные текстовые поля. Эта система должна использоваться конечными пользователями бизнес-типа, иначе нет смысла иметь эту систему вообще. Основная цель - иметь систему, которая полностью управляется конечными пользователями. Если большинство этих целей удастся реализовать, я буду считать это победой.
Подходит ли механизм правил для этого сценария? Имеется ли среда Python или django для реализации этого поведения или какие-либо четко определенные шаблоны?
Обновление (на основе ответа С. Лотта):
Я не говорю о фильтрации данных с использованием Django ORM. Я хочу передать все данные и все правила в javascript, чтобы приложение javascript могло оставаться «отключенным».
Мне нужен способ, чтобы пользователи определяли эти правила и комбинации правил и хранили их в базе данных. Затем, когда страница загружена, эти данные и все правила извлекаются и помещаются на страницу. Определение правил является важной частью головоломки.