SQLAlchemy通过动态筛选创建查询

2024-04-23 11:31:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我对python和SQLAlchemy还不熟悉,所以如果这个问题听起来很明显,请原谅: 我正在尝试通过传递要筛选的列名来创建动态查询:

filter_by={"or":{"origin_source_id":"MX01",
                   "origin_client_id":"JP0001"}} 

我可以用'或'/'和'/'>;'/'<;'作为运算符

目标是创建一个表达式,如:

session.query(dbClass).filter(dbClass.origin_client_id=='JP0001' or dbClass.origin_source_id=='MX01') 

如果定义如下:

filter_by={"origin_source_id":"MX01"}

创建如下表达式:

session.query(dbClass).filter(dbClass.origin_source_id=="MX01")

如果定义为:

filter_by={"and":{"origin_source_id":"MX01",
                           "origin_client_id":"JP0001"}}

表达式应为:

session.query(dbClass).filter(dbClass.origin_client_id=='JP0001' or dbClass.origin_source_id=='MX01') 

有人能告诉我如何解析filter\u by并提取值来构建查询表达式吗?你知道吗

我不知道从哪里开始。你知道吗

谢谢


Tags: orclientidsourceby定义sqlalchemy表达式