Создание строки для запроса jsonb с помощью psycopg2
У меня есть следующий запрос с работами в БД
SELECT count(*) as count
FROM data
WHERE name ='user' AND
dt > date_trunc('month', current_timestamp) AND
submited_jsonb @> '{"Type":["New"]}'
GROUP BY mage, date_trunc('day', dt)
Теперь, следуя моей версии Python, где я должен передать только имя
query = """SELECT count(*) as count
FROM data
WHERE name ='{0}' AND
dt > date_trunc('month', current_timestamp) AND
submited_jsonb @> '{"Type":["New"]}'
GROUP BY mage, date_trunc('day', dt)""".format(user)
Однако выше строки thowing следующая ошибка
ERROR:root:An unexpected error occurred while tokenizing input
The following traceback may be corrupted or invalid
The error message is: ('EOF in multi-line string', (1, 12))
Я уменьшил ошибку до следующей строки '{"Type":["New"]}' в строке.
Что я должен делать?
1 ответ
Вы используете "...".format()
так что вы должны удвоить буквальное {}
чтобы избежать их.
...
submited_jsonb @> '{{"Type":["New"]}}'
...