Как отправить список UUID-ов Python в запрос csql, используя cassandra_driver для Python - PullRequest
0 голосов
/ 26 декабря 2018

Я пытаюсь передать Python-список UUID-ов в запрос CSQL ... но запрос оценивается, как показано ниже ... и он терпит неудачу в cassandra.

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)

1 Ответ

0 голосов
/ 26 декабря 2018

Допустим, у вас есть список uuids:

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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...