SQLAlchemyの検索条件組み立て
12月からPythonを学び始めました。FlaskとSQLAlchemyを使ってアプリを作ろうとしています。
困ったのが、検索条件の組み立てです。ベタにやるとこんな感じになると思います。名前と苗字を検索条件に入れてユーザーを探すイメージです。
def search():
firstname =''
lastname = ''
rs = session.Query(User)
if firstname:
rs = rs.filter(User.firstname==firstname)
if lastname:
rs = rs.filter(User.lastname==lastname)
これしか方法が無いなら諦めるのですが、例えば検索条件に入れた変数(この場合はfirstname,lastname)がNoneとか空文字だったらfilterを通しても無視されるような感じに出来たら良いなぁ...と。
ユーザーから与えられる複数のリクエストパラメータに対して、よりスマートに検索条件を組み立てる方法があればご教示頂けると幸いです。