【发布时间】:2018-12-18 17:25:15
【问题描述】:
我想使用Pony 动态构建查询,但我会
喜欢将过滤器与OR 组合,而不是与AND。那是,
我想做这样的事情:
keywords = ['gizmo', 'gadget']
query = select(w for w in Widget)
for kw in keywords:
query = query.filter(lambda w: kw in w.name)
for item in query:
print(item)
当然,上面的问题是它会产生一个查询 喜欢:
SELECT "w"."id", "w"."name"
FROM "Widget" "w"
WHERE "w"."name" LIKE '%gizmo%'
AND "w"."name" LIKE '%gadget%'
而我想要:
SELECT "w"."id", "w"."name"
FROM "Widget" "w"
WHERE "w"."name" LIKE '%gizmo%'
OR "w"."name" LIKE '%gadget%'
有什么办法可以到达吗?
【问题讨论】: