Ноябрь 30, 2008
Динамические запросы (фильтры) в django
Хороший заголовок, информации в гугле по этому поводу не найдено. Стоит задача сделать фильтр. Возьмем, к примеру, таблицу, первая строка которой содержит фильтры для колонок. Усложненный вариант фильтра позволяет выбирать сразу несколько значений. Реализовать такой механизм средствами ORM django довольно просто.
Создаем метод, получающий на вход имя поля и массив значений: Вызывать можно таким образом: Обращаю внимание на одну очень замечательную особенность ORM django — city__country__name. Эта запись означает, что мы фильтруем по имени страны, к которой принадлежит город нашей целевой модели. Работу по созданию джоинов джанго берет на себя.
Основываясь на коде, приведенном выше можно построить универсальную систему фильтрации.
Комментарии(2)



