読者です 読者をやめる 読者になる 読者になる

Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

sqlalchemyのfilter関数でANDやORな条件を指定する

python sql

sqlalchemyにおける検索条件について

実際のところ

for user in session.query(User).\
  filter(User.name=='ed').\
  filter(User.fullname=='Ed Jones'):
print(user)

上の例は、以下のように書くこともできます。

session.filter(User.name == 'ed', User.fullname == 'Ed Jones')

ORの場合は、"or_"ライブラリ(?)をインポートした上で以下のようにします。*1

from sqlalchemy import or_
query.filter(or_(User.name == 'ed', User.name == 'wendy'))

*1:import sqlalchemyしてれば全部読んでるような気もしますが