Как использовать список в качестве параметра в пользовательском запросе вставки с sqlalchemy? - PullRequest
0 голосов
/ 10 апреля 2019

Я ищу простой способ вставить несколько строк, используя необработанный запрос с sqlalchemy.

Я пытаюсь выполнить такой запрос, в котором количество строк может быть изменено:

INSERT INTO table (
   col_1,
   col_2
)
VALUES (row_1_col_1, row_1_col_2), (row_2_col_1, row_2_col_2), 
(row_3_col_1, row_3_col_2);

И мне интересно, есть ли способ использовать список dict как параметр запроса:

from sqlalchemy.sql import text

insert_query = text("""
    INSERT INTO table (
        col_1,
        col_2
    ) VALUES :to_insert
""")
params = {'to_insert': [
       {'col_1': 'row_1_col_1', 'col_2': 'row_1_col_2'},
       {'col_1': 'row_2_col_1', 'col_2': 'row_2_col_2'},
       {'col_1': 'row_3_col_1', 'col_2': 'row_3_col_2'}]

result = connection.execute(query, params)

вместо создания строки с использованием ','. Join.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...