Я застрял в этой проблеме поиска в базе данных: у меня есть виджет PyQt5 с различными флажками.Каждый из них представляет собой столбец из моей базы данных.Например, «имя_работника» и «отдел».Чекбоксы располагаются рядом с lineEdits, поэтому пользователь вставляет некоторый текст в этот lineEdit, а затем нажимает на кнопки checkBox и «Найти».
Допустим, пользователь вставляет «John» в lineEdit, чем нажимает «работник_имя» checkBox и получаетвсе документы этого работника через
session.query(Doc).filter_by('worker_name'=text_from_lineEdit)
Если пользователь вставит текст в оба lineEdits и нажал оба запроса checkBoxes ('worker_name' и 'Department'), будет выглядеть так:
session.query(Doc).filter_by('worker_name'=text_from_lineEdit, 'department'=text_from_lineEdit_2)
Но что, если у меня есть много checkBoxes (столько же, сколько столбцов в таблице БД), и я не знаю, какие из них будут нажаты, а какие нет.Как мне сформировать запрос в этом случае?Я имею в виду, что у меня будет 'wrk_name', 'Department' и 'date', и пользователь сможет искать только по 'worker_name' или 'worker_name' + 'date' или со всеми чекбоксами.
Есть ли какие-либоспособ динамически формировать запрос к базе данных, основываясь на том, какие аргументы заданы, а какие нет, чтобы включать их в фильтр 'filter_by' / 'или просто игнорировать.
Пожалуйста, поделитесь своими идеями о возможной реализации такой функциональности.Спасибо за ваше время.