Ошибка SQLAlchemy: INSERT value for column serveranswer.priority is explicitly rendered as a boundparameter in the VALUES clause
у меня есть функция:
def insert_to_db(table_name):
all_dialogs = take_all_dialog(date_now)
if table_name == "serveranswer":
for row in all_dialogs:
dialog = get_data_dialog(row.get('id'))
print(dialog)
print(dialog.get('ticket'))
with sync_engine.connect() as conn:
stmt = insert(serveranswer_table).values(
[
{"priority": dialog.get("ticket").get("priority")},
{"subject": dialog.get("ticket").get("subject")}
]
)
conn.execute(stmt)
conn.close()
она вставляет сущности из API сервиса в ячейки базы данных PostgreSQL проблема заключается в этом отрезке кода:
stmt = insert(serveranswer_table).values(
[
{"priority": dialog.get("ticket").get("priority")},
{"subject": dialog.get("ticket").get("subject")}
]
)
Код работает, если здесь указана только одна ячейка для вставки, например {"subject": dialog.get("ticket").get("subject")}
Код не работает, если их 2 и больше
Traceback (most recent call last):
File "/Users/kurashov-no/PycharmProjects/pythonProject/SQLAlchemy/main.py", line 8, in <module>
insert_to_db("serveranswer")
File "/Users/kurashov-no/PycharmProjects/pythonProject/SQLAlchemy/core1.py", line 79, in insert_to_db
conn.execute(stmt)
File "/Users/kurashov-no/PycharmProjects/pythonProject/venv/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1422, in execute
return meth(
File "/Users/kurashov-no/PycharmProjects/pythonProject/venv/lib/python3.9/site-packages/sqlalchemy/sql/elements.py", line 514, in _execute_on_connection
return connection._execute_clauseelement(
File "/Users/kurashov-no/PycharmProjects/pythonProject/venv/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1636, in _execute_clauseelement
compiled_sql, extracted_params, cache_hit = elem._compile_w_cache(
File "/Users/kurashov-no/PycharmProjects/pythonProject/venv/lib/python3.9/site-packages/sqlalchemy/sql/elements.py", line 715, in _compile_w_cache
compiled_sql = self._compiler(
File "/Users/kurashov-no/PycharmProjects/pythonProject/venv/lib/python3.9/site-packages/sqlalchemy/sql/elements.py", line 315, in _compiler
return dialect.statement_compiler(dialect, self, **kw)
File "/Users/kurashov-no/PycharmProjects/pythonProject/venv/lib/python3.9/site-packages/sqlalchemy/sql/compiler.py", line 1429, in __init__
Compiled.__init__(self, dialect, statement, **kwargs)
File "/Users/kurashov-no/PycharmProjects/pythonProject/venv/lib/python3.9/site-packages/sqlalchemy/sql/compiler.py", line 870, in __init__
self.string = self.process(self.statement, **compile_kwargs)
File "/Users/kurashov-no/PycharmProjects/pythonProject/venv/lib/python3.9/site-packages/sqlalchemy/sql/compiler.py", line 915, in process
return obj._compiler_dispatch(self, **kwargs)
File "/Users/kurashov-no/PycharmProjects/pythonProject/venv/lib/python3.9/site-packages/sqlalchemy/sql/visitors.py", line 141, in _compiler_dispatch
return meth(self, **kw) # type: ignore # noqa: E501
File "/Users/kurashov-no/PycharmProjects/pythonProject/venv/lib/python3.9/site-packages/sqlalchemy/sql/compiler.py", line 5784, in visit_insert
{'ticket': {'id': 186705086, 'status_id': 8, 'priority': 'medium', 'type': 'question', 'subject': 'Chat', 'client_id': 144235356, 'assignee_id': 207729, 'group': 40045, 'last_updated_at': '2024-05-06 14:42:04', 'email': '', 'published_at': '2024-05-06 14:41:21', 'company_id': 162443, 'channel_id': 35086, 'additional_id': 'BrC4CQDgBiD8CtDYDIpDxC8DxDIBLBVDgBImDqMBzDC6eCaBpOCa8BOC2D9DpBFB', 'client_name': 'Без имени'}, 'tags': ['sdk', 'sys_решено саппортом', 'sys_тег_основное', 'sys_"призыв оператора"'], 'custom_fields': [{'id': 336252150, 'ticket_id': 186705086, 'ticket_field_id': 18696, 'value': '', 'created_at': None, 'updated_at': None}, {'id': 336252151, 'ticket_id': 186705086, 'ticket_field_id': 18697, 'value': '613830035', 'created_at': None, 'updated_at': None}, {'id': 336252152, 'ticket_id': 186705086, 'ticket_field_id': 18701, 'value': '36bf02a4bcaa1cf8', 'created_at': None, 'updated_at': None}, {'id': 336252153, 'ticket_id': 186705086, 'ticket_field_id': 18702, 'value': '', 'created_at': None, 'updated_at': None}, {'id': 336252154, 'ticket_id': 186705086, 'ticket_field_id': 18689, 'value': 'Звук', 'created_at': None, 'updated_at': None}, {'id': 336252155, 'ticket_id': 186705086, 'ticket_field_id': 18706, 'value': '4.58.0', 'created_at': None, 'updated_at': None}, {'id': 336252156, 'ticket_id': 186705086, 'ticket_field_id': 18707, 'value': 'RMX3511', 'created_at': None, 'updated_at': None}, {'id': 336252157, 'ticket_id': 186705086, 'ticket_field_id': 18708, 'value': '13', 'created_at': None, 'updated_at': None}, {'id': 336252158, 'ticket_id': 186705086, 'ticket_field_id': 18712, 'value': '', 'created_at': None, 'updated_at': None}, {'id': 336252160, 'ticket_id': 186705086, 'ticket_field_id': 18713, 'value': '', 'created_at': None, 'updated_at': None}, {'id': 336252161, 'ticket_id': 186705086, 'ticket_field_id': 19953, 'value': '0', 'created_at': None, 'updated_at': None}, {'id': 336252162, 'ticket_id': 186705086, 'ticket_field_id': 20941, 'value': 'MTS RUS', 'created_at': None, 'updated_at': None}, {'id': 336252163, 'ticket_id': 186705086, 'ticket_field_id': 23173, 'value': 'Freemium', 'created_at': None, 'updated_at': None}, {'id': 336252164, 'ticket_id': 186705086, 'ticket_field_id': 23174, 'value': 'None', 'created_at': None, 'updated_at': None}, {'id': 336252165, 'ticket_id': 186705086, 'ticket_field_id': 24503, 'value': 'Unreg', 'created_at': None, 'updated_at': None}], 'comments': [{'id': 798601484, 'message': 'Апрлыц', 'from': 'client', 'type': 'public', 'user_id': None, 'user': None, 'client_id': 144235356, 'client_name': 'Без имени', 'client': {'id': 144235356, 'name': 'Без имени', 'avatar': None, 'position': '', 'note': '', 'company_id': 162443, 'zendesk_id': None, 'spammer': 0, 'vip': 0, 'client_company_id': None, 'created_at': '2024-05-06 14:41:16', 'updated_at': '2024-05-06 14:41:23', 'lang': 'it', 'deleted_at': None}, 'ticket_id': 186705086, 'is_first': 0, 'delivered': 0, 'readed': 0, 'published_at': '2024-05-06 14:42:04', 'file': None, 'files': [], 'bcc': [], 'cc': []}, {'id': 798601390, 'message': 'Вр и на этот раз он меня не было бы не стал бы вы хотели знать о праве собственности на землю в мы с вами Ц Элбэгдорж на сайте компании в мы с вами не так давно не виделись с помощью этой формы с вами в у меня уже не у меня есть подарок', 'from': 'client', 'type': 'public', 'user_id': None, 'user': None, 'client_id': 144235356, 'client_name': 'Без имени', 'client': {'id': 144235356, 'name': 'Без имени', 'avatar': None, 'position': '', 'note': '', 'company_id': 162443, 'zendesk_id': None, 'spammer': 0, 'vip': 0, 'client_company_id': None, 'created_at': '2024-05-06 14:41:16', 'updated_at': '2024-05-06 14:41:23', 'lang': 'it', 'deleted_at': None}, 'ticket_id': 186705086, 'is_first': 0, 'delivered': 0, 'readed': 0, 'published_at': '2024-05-06 14:41:56', 'file': None, 'files': [], 'bcc': [], 'cc': []}, {'id': 798601100, 'message': 'Время⏰ в центре города Москвы на? подготовку к новому сезону и на? подготовку в местном кметстве Плачковци', 'from': 'client', 'type': 'public', 'user_id': None, 'user': None, 'client_id': 144235356, 'client_name': 'Без имени', 'client': {'id': 144235356, 'name': 'Без имени', 'avatar': None, 'position': '', 'note': '', 'company_id': 162443, 'zendesk_id': None, 'spammer': 0, 'vip': 0, 'client_company_id': None, 'created_at': '2024-05-06 14:41:16', 'updated_at': '2024-05-06 14:41:23', 'lang': 'it', 'deleted_at': None}, 'ticket_id': 186705086, 'is_first': 0, 'delivered': 0, 'readed': 0, 'published_at': '2024-05-06 14:41:32', 'file': None, 'files': [], 'bcc': [], 'cc': []}, {'id': 798600976, 'message': 'Мецей', 'from': 'client', 'type': 'public', 'user_id': None, 'user': None, 'client_id': 144235356, 'client_name': 'Без имени', 'client': {'id': 144235356, 'name': 'Без имени', 'avatar': None, 'position': '', 'note': '', 'company_id': 162443, 'zendesk_id': None, 'spammer': 0, 'vip': 0, 'client_company_id': None, 'created_at': '2024-05-06 14:41:16', 'updated_at': '2024-05-06 14:41:23', 'lang': 'it', 'deleted_at': None}, 'ticket_id': 186705086, 'is_first': 0, 'delivered': 0, 'readed': 0, 'published_at': '2024-05-06 14:41:24', 'file': None, 'files': [], 'bcc': [], 'cc': []}, {'id': 798600947, 'message': 'Ропде', 'from': 'client', 'type': 'public', 'user_id': None, 'user': None, 'client_id': 144235356, 'client_name': 'Без имени', 'client': {'id': 144235356, 'name': 'Без имени', 'avatar': None, 'position': '', 'note': '', 'company_id': 162443, 'zendesk_id': None, 'spammer': 0, 'vip': 0, 'client_company_id': None, 'created_at': '2024-05-06 14:41:16', 'updated_at': '2024-05-06 14:41:23', 'lang': 'it', 'deleted_at': None}, 'ticket_id': 186705086, 'is_first': 0, 'delivered': 0, 'readed': 0, 'published_at': '2024-05-06 14:41:21', 'file': None, 'files': [], 'bcc': [], 'cc': []}, {'id': 798600945, 'message': '<p>app_name: com.zvooq.openplay</p><p>app_version: 4.58.0</p><p>device: realme RMX3511</p><p>mobile_operator_name: MTS RUS</p><p>os: Android 13 (API level 33)</p>', 'from': 'client', 'type': 'private', 'user_id': None, 'user': None, 'client_id': 144235356, 'client_name': 'Без имени', 'client': {'id': 144235356, 'name': 'Без имени', 'avatar': None, 'position': '', 'note': '', 'company_id': 162443, 'zendesk_id': None, 'spammer': 0, 'vip': 0, 'client_company_id': None, 'created_at': '2024-05-06 14:41:16', 'updated_at': '2024-05-06 14:41:23', 'lang': 'it', 'deleted_at': None}, 'ticket_id': 186705086, 'is_first': 0, 'delivered': 0, 'readed': 0, 'published_at': '2024-05-06 14:41:21', 'file': None, 'files': [], 'bcc': [], 'cc': []}], 'changes': [{'id': 1926301698, 'trigger_id': None, 'user_id': None, 'ticket_id': 186705086, 'data': [{'target': 'message_from_client', 'value': 144235356}], 'changed_at': '2024-05-06 14:42:01', 'old_status': 0, 'new_status': 0, 'company_id': 162443}, {'id': 1926300975, 'trigger_id': None, 'user_id': None, 'ticket_id': 186705086, 'data': [{'target': 'message_from_client', 'value': 144235356}], 'changed_at': '2024-05-06 14:41:37', 'old_status': 0, 'new_status': 0, 'company_id': 162443}, {'id': 1926300743, 'trigger_id': None, 'user_id': None, 'ticket_id': 186705086, 'data': [{'target': 'message_from_client', 'value': 144235356}], 'changed_at': '2024-05-06 14:41:29', 'old_status': 0, 'new_status': 0, 'company_id': 162443}, {'id': 1926300740, 'trigger_id': 62501, 'user_id': None, 'ticket_id': 186705086, 'data': [{'target': 'tags', 'value': ['sys_"призыв оператора"'], 'old_value': ['sdk', 'sys_решено саппортом', 'sys_тег_основное'], 'action': 'add_tags'}, {'target': 'trigger', 'value': 62501}], 'changed_at': '2024-05-06 14:41:29', 'old_status': 0, 'new_status': 0, 'company_id': 162443}, {'id': 1926300733, 'trigger_id': 61745, 'user_id': None, 'ticket_id': 186705086, 'data': [{'target': 'tags', 'value': ['sys_решено саппортом', 'sys_тег_основное'], 'old_value': ['sdk'], 'action': 'add_tags'}, {'target': 'trigger', 'value': 61745}], 'changed_at': '2024-05-06 14:41:28', 'old_status': 0, 'new_status': 0, 'company_id': 162443}, {'id': 1926300727, 'trigger_id': 56180, 'user_id': None, 'ticket_id': 186705086, 'data': [{'target': 'group', 'value': 40045, 'old_value': None, 'action': 'assign_next_agent_online'}, {'target': 'assignee_id', 'value': 207729, 'old_value': None, 'action': 'assign_next_agent_online'}, {'target': 'trigger', 'value': 56180}], 'changed_at': '2024-05-06 14:41:28', 'old_status': 0, 'new_status': 0, 'company_id': 162443}, {'id': 1926300722, 'trigger_id': None, 'user_id': 207041, 'ticket_id': 186705086, 'data': [{'target': 'ticket_field', 'value': 'Name → '}, {'target': 'ticket_field__18696', 'value': '', 'old_value': None}, {'target': 'ticket_field', 'value': 'User_id → 613830035'}, {'target': 'ticket_field__18697', 'value': '613830035', 'old_value': None}, {'target': 'ticket_field', 'value': 'Device_id → 36bf02a4bcaa1cf8'}, {'target': 'ticket_field__18701', 'value': '36bf02a4bcaa1cf8', 'old_value': None}, {'target': 'ticket_field', 'value': 'subscription_name → '}, {'target': 'ticket_field__18702', 'value': '', 'old_value': None}, {'target': 'ticket_field', 'value': 'App_Name → Звук'}, {'target': 'ticket_field__18689', 'value': 'Звук', 'old_value': None}, {'target': 'ticket_field', 'value': 'Android_app_version → 4.58.0'}, {'target': 'ticket_field__18706', 'value': '4.58.0', 'old_value': None}, {'target': 'ticket_field', 'value': 'Android_device → RMX3511'}, {'target': 'ticket_field__18707', 'value': 'RMX3511', 'old_value': None}, {'target': 'ticket_field', 'value': 'Android_os_version → 13'}, {'target': 'ticket_field__18708', 'value': '13', 'old_value': None}, {'target': 'ticket_field', 'value': 'email → '}, {'target': 'ticket_field__18712', 'value': '', 'old_value': None}, {'target': 'ticket_field', 'value': 'phone → '}, {'target': 'ticket_field__18713', 'value': '', 'old_value': None}, {'target': 'ticket_field', 'value': 'sub_count → 0'}, {'target': 'ticket_field__19953', 'value': '0', 'old_value': None}, {'target': 'ticket_field', 'value': 'Мобильный оператор → MTS RUS'}, {'target': 'ticket_field__20941', 'value': 'MTS RUS', 'old_value': None}, {'target': 'ticket_field', 'value': 'Subscription_status → Freemium'}, {'target': 'ticket_field__23173', 'value': 'Freemium', 'old_value': None}, {'target': 'ticket_field', 'value': 'Subscription_type → None'}, {'target': 'ticket_field__23174', 'value': 'None', 'old_value': None}, {'target': 'ticket_field', 'value': 'registration_status → Unreg'}, {'target': 'ticket_field__24503', 'value': 'Unreg', 'old_value': None}], 'changed_at': '2024-05-06 14:41:28', 'old_status': 0, 'new_status': 0, 'company_id': 162443}, {'id': 1926300712, 'trigger_id': 58440, 'user_id': None, 'ticket_id': 186705086, 'data': [{'target': 'sla_policy', 'value': '6311', 'old_value': 6191, 'action': 'update_sla_policy'}, {'target': 'trigger', 'value': 58440}], 'changed_at': '2024-05-06 14:41:28', 'old_status': 0, 'new_status': 0, 'company_id': 162443}, {'id': 1926300684, 'trigger_id': None, 'user_id': None, 'ticket_id': 186705086, 'data': [{'target': 'message_from_client', 'value': 144235356}], 'changed_at': '2024-05-06 14:41:27', 'old_status': 0, 'new_status': 0, 'company_id': 162443}, {'id': 1926300500, 'trigger_id': None, 'user_id': None, 'ticket_id': 186705086, 'data': [{'target': 'ticket_created', 'value': 186705086}], 'changed_at': '2024-05-06 14:41:21', 'old_status': 0, 'new_status': 8, 'company_id': 162443}]}
{'id': 186705086, 'status_id': 8, 'priority': 'medium', 'type': 'question', 'subject': 'Chat', 'client_id': 144235356, 'assignee_id': 207729, 'group': 40045, 'last_updated_at': '2024-05-06 14:42:04', 'email': '', 'published_at': '2024-05-06 14:41:21', 'company_id': 162443, 'channel_id': 35086, 'additional_id': 'BrC4CQDgBiD8CtDYDIpDxC8DxDIBLBVDgBImDqMBzDC6eCaBpOCa8BOC2D9DpBFB', 'client_name': 'Без имени'}
crud_params_struct = crud._get_crud_params(
File "/Users/kurashov-no/PycharmProjects/pythonProject/venv/lib/python3.9/site-packages/sqlalchemy/sql/crud.py", line 348, in _get_crud_params
multi_extended_values = _extend_values_for_multiparams(
File "/Users/kurashov-no/PycharmProjects/pythonProject/venv/lib/python3.9/site-packages/sqlalchemy/sql/crud.py", line 1460, in _extend_values_for_multiparams
new_param = _process_multiparam_default_bind(
File "/Users/kurashov-no/PycharmProjects/pythonProject/venv/lib/python3.9/site-packages/sqlalchemy/sql/crud.py", line 1320, in _process_multiparam_default_bind
raise exc.CompileError(
sqlalchemy.exc.CompileError: INSERT value for column serveranswer.priority is explicitly rendered as a boundparameter in the VALUES clause; a Python-side value or SQL expression is required
Process finished with exit code 1
Я пытался найти проблему в интернете — но либо не понял, либо не нашел.