我查看了文档,我似乎无法找到如何在SQLAlchemy中进行OR查询.我只是想做这个查询.
SELECT address FROM addressbook WHERE city='boston' AND (lastname='bulger' OR firstname='whitey')
Run Code Online (Sandbox Code Playgroud)
应该是这样的
addr = session.query(AddressBook).filter(City == "boston").filter(????)
Run Code Online (Sandbox Code Playgroud) 我有下一个查询.
item = [item.export_simple()
for item in session.query(Item)
.filter(and_(
Item.companyId == company_id,
or_(
True if search == "" else None,
or_(*[Item.name.like('%{0}%'.format(s)) for s in words]),
or_(*[Item.code.like('%{0}%'.format(s)) for s in words])
))).order_by(Item.name)]
Run Code Online (Sandbox Code Playgroud)
还有这个.
if type == "code":
src = [Item.code.like('%{0}%'.format(s)) for s in words]
elif type == "name":
src = [Item.name.like('%{0}%'.format(s)) for s in words]
session.query(Item)
.filter(and_(
Item.companyId == company_id,
Item.typeItem == item_type,
or_(
True if search == "" else None,
or_(*src)
)))
Run Code Online (Sandbox Code Playgroud)