flask-sqlalchemy как правильно фильтровать данные по множественным фильтрам

Рейтинг: 0Ответов: 1Опубликовано: 19.06.2023

Как правильно фильтровать данные по запросу, где фильтры могут принимать множественные параметры (как в интернет-магазинах)? Для примера: фильтровать помещения в здании, по этажу(ам) и допустим площади. Где площадь "between". Я так понимаю делать тупо через if неправильно:

if request.form.get['key1']:
    query1
elif request.form.get['key2']:
    query2
elif:
else:

Пошлите, плз, в нужное направление.

Ответы

▲ 0

После долгих поисков нашёл, что можно сделать так:

query = db.session.query(Data).filter(Data.somefield == 'None') # Base query
if floorsFilter:
    query = query.filter(Data.floor.in_((floorsFilter)))
info = query.all()