随笔 - 367, 文章 - 2, 评论 - 75, 阅读 - 114万

导航

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

SQLAlchemy query with OR/AND/like common filters

Posted on   网名还没想好  阅读(1779)  评论(0编辑  收藏  举报

http://www.leeladharan.com/sqlalchemy-query-with-or-and-like-common-filters

Some of the most common operators used in filter() method SQLAlchemy

equals:

query.filter(User.name == 'leela')

not equals:

query.filter(User.name != 'leela')

LIKE:

query.filter(User.name.like('%leela%'))

IN:

query.filter(User.name.in_(['leela', 'akshay', 'santanu']))

# works with query objects too:

query.filter(User.name.in_(session.query(User.name).filter(User.name.like('%santanu%'))))

NOT IN:

query.filter(~User.name.in_(['lee', 'sonal', 'akshay']))

IS NULL:

filter(User.name == None)

IS NOT NULL:

filter(User.name != None)

AND:

from sqlalchemy import and_
filter(and_(User.name == 'leela', User.fullname == 'leela dharan'))

#or, default without and_ method comma separated list of conditions are AND

filter(User.name == 'leela', User.fullname == 'leela dharan')

# or call filter()/filter_by() multiple times

filter(User.name == 'leela').filter(User.fullname == 'leela dharan')

OR:

from sqlalchemy import or_
filter(or_(User.name == 'leela', User.name == 'akshay'))

match:

query.filter(User.name.match('leela'))
点击右上角即可分享
微信分享提示