我正在为一个非常具体的问题而挣扎: 我需要在SQLAlchemy中进行类似的搜索,但是关键字的数量是不同的。 下面是一个关键字的代码:
search_query = request.form["searchinput"]
if selectet_wg and not lagernd:
query = db_session.query(
Artikel.Artnr,
Artikel.Benennung,
Artikel.Bestand,
Artikel.Vkpreisbr1
).filter(
and_(
Artikel.Benennung.like("%"+search_query+"%"),
Artikel.Wg == selectet_wg
)
).order_by(Artikel.Vkpreisbr1.asc())
“searchinput”看起来像这样:“property1,property2,property3”,但也可以是1、2、5或更多的property。 我想将searchinput拆分为“,”(是的,我知道怎么做:)并为每个属性插入另一个类似的search。 因此,对于上面的示例,搜索应该如下所示:
^{pr2}$我不认为这是一个聪明的主意只是做一个if语句的数量属性和写下查询多次。。。 Im使用最新版本的sqlalchemy和python3.4
可以多次调用筛选器:
应该可以创建一个您喜欢的过滤器列表,并将它们全部传递给
and_
。首先创建类似查询的列表:
然后将它们传递给
^{pr2}$and_
,打开列表:*filter
必须是and_
的最后一个参数,否则python将给您一个错误。在相关问题 更多 >
编程相关推荐