如何使用 Python cassandra_driver for Python 将 Python UUID 列表发送到



我正在尝试将 UUID 的 python 列表传递给 CSQL 查询...但查询的计算结果如下所示。它在卡桑德拉失败了。

select  json *  from users where user_id in [UUID('f3cbb11a-08e6-11e9-805c-507b9dd95453'), UUID('f3c45e1d-08e6-11e9-8441-507b9dd95453')] ALLOW FILTERING
sess=self.cass.getConnection()
query ="select  json *  from users where user_id in {} ALLOW FILTERING".format(user_ids)
sess.execute(query)

假设您有一个 uuid 列表:

uuids = [UUID('f3cbb11a-08e6-11e9-805c-507b9dd95453'), UUID('f3c45e1d-08e6-11e9-8441-507b9dd95453')]

根据文档,您必须先创建查询模板:

query = '''
SELECT * 
FROM users 
WHERE user_id IN ({}) 
ALLOW FILTERING'''.format(','.join('%s' for _ in uuids))
print(query)
SELECT * 
FROM users 
WHERE user_id IN (%s,%s) 
ALLOW FILTERING

然后执行查询:

session.execute(query, uuids)

最新更新