问题描述
我正在尝试创建一个函数,该函数可以使用带有可选参数的SQLAlchemy过滤sql表。
功能是
def fetch_new_requests(status,request_type,request_subtype,engine,id_r=None):
table = Table('Sample_Table',metadata,autoload=True,autoload_with=engine)
query = session.query(load_requests).filter_by(status = status,request_type = request_type,request_subtype = request_subtype,id_r = id_r)
return pd.read_sql((query).statement,session.bind)
但是如果我没有定义id_r变量,它每次都会返回一个空表
我已经用Google搜索,但是找不到解决方法
我尝试使用** kwargs,但这并不是我真正需要的,我的意思是在这里我必须明确定义列名,然后再次使用id_r来解决问题
def fetch_new_requests(**kwargs):
for x in kwargs.values():
query = session.query(load_requests).filter_by(status=x)
return pd.read_sql((query).statement,session.bind)
我理想的结果
def fetch_new_requests(any column names,values of the columns):
for x in kwargs.values():
query = session.query(load_requests).filter_by(column_name=column_value)
return pd.read_sql((query).statement,session.bind)
在理论上,我可以使用2个列表或一个字典,但是如果有其他解决方案,我们很乐意听到
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)