这是我尝试的代码片段
query = tbl_scores.select().limit( bindparam('lim') )
然而,我遇到了以下错误。
TypeError: int() argument must be a string or a number, not 'BindParameter'
有人能举一个使用bindparam来处理LIMIT/OFFSET的例子吗?
Python版本为2.7.5,SQLAlchemy版本为0.8.4。
假设有一个Web API返回排名前几的玩家。构建一个带有绑定参数的查询语句,然后将其存储在线程本地位置,以便请求可以共享同一个预编译查询。
# TypeError occurs here
a_thread_local_place.query = join(tbl_scores,
tbl_master_player,
tbl_scores.c.uid == tbl_master_player
).\
select().limit(bindparam('lim'))
每当webapi处理请求时,我希望使用预编译查询来执行如下查询。
result = engine.connect().execute(
a_thread_local_place.query,
lim = 10,
)
query = tbl_scores.select().limit(10)
。参考这里。 - Syed Habib Mbindparam
返回的是<object BindParameter>
。但是limit
需要的确切类型是str
或int
。你能把bindparam
对象改成str
或int
吗?这可能会解决你的问题。 - Syed Habib M