Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python SQLAlchemy core-在查询中获取bindparams的列表,或者按名称检查是否存在bindparams?_Python_Sql_Postgresql_Sqlalchemy - Fatal编程技术网

Python SQLAlchemy core-在查询中获取bindparams的列表,或者按名称检查是否存在bindparams?

Python SQLAlchemy core-在查询中获取bindparams的列表,或者按名称检查是否存在bindparams?,python,sql,postgresql,sqlalchemy,Python,Sql,Postgresql,Sqlalchemy,使用sqlalchemy core,您可以绑定一个参数,然后在执行时填充它,例如 query=select([my_table]).limit(bindparam('lim')) 执行(查询,lim=10) 我有它,以便收到的查询可能使用或可能不使用某些参数。所以我想要一种能够验证参数是否存在的方法,或者甚至可以得到一个在执行时必须被替换的参数列表。例如,可以这样做,以允许在上述查询中进行限制 可能需要替换的值是已知的,因此这只是检查它们是否确实存在的一个例子。目前,作为一个小的临时解决方法,

使用sqlalchemy core,您可以绑定一个参数,然后在执行时填充它,例如

query=select([my_table]).limit(bindparam('lim'))
执行(查询,lim=10)
我有它,以便收到的查询可能使用或可能不使用某些参数。所以我想要一种能够验证参数是否存在的方法,或者甚至可以得到一个在执行时必须被替换的参数列表。例如,可以这样做,以允许在上述查询中进行限制


可能需要替换的值是已知的,因此这只是检查它们是否确实存在的一个例子。目前,作为一个小的临时解决方法,我发现我可以将名称设置为复杂的东西,比如随机的数字字符串,然后只需检查这些名称是否存在于查询的字符串形式中。当然还有其他解决方案,比如存储/传递哪些已经/没有被使用过,但我想看看是否有办法检查哪些已经存在。和。您可以从已编译的查询中获取参数,如下所示:

q=select([test1]).limit(bindparam('lim')) >>>c=q.compile() >>>c.params {'lim':无}