@Atroshchenko-Dima
Python, postgres

Как исправить ошибку Replacement index 1 out of range for positional args tuple?

Используя Union all, получаю ошибку Replacement index 1 out of range for positional args tuple.

Мой код выглядит так:

columns = columns_list + [str(i) for i in request.form.getlist("columns")]
        query = ("SELECT {} FROM raschett WHERE Наименование = ANY(%s) AND Месяц = ANY(%s) UNION ALL SELECT {} FROM rashet_station WHERE Наименование = ANY(%s) AND Месяц = ANY(%s);"
                    .format(",".join(["\"{}\"".format(c) for c in columns])))
        rows = execute_query(query, (selected_stations, selected_indicators))


Для работы с БД использую psycopg2

Traceback (most recent call last):
  File "C:\Users\antrodmi\AppData\Local\Programs\Python\Python311\Lib\site-packages\flask\app.py", line 2528, in wsgi_app
    response = self.full_dispatch_request()
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\antrodmi\AppData\Local\Programs\Python\Python311\Lib\site-packages\flask\app.py", line 1825, in full_dispatch_request
    rv = self.handle_user_exception(e)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\antrodmi\AppData\Local\Programs\Python\Python311\Lib\site-packages\flask\app.py", line 1823, in full_dispatch_request
    rv = self.dispatch_request()
         ^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\antrodmi\AppData\Local\Programs\Python\Python311\Lib\site-packages\flask\app.py", line 1799, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\antrodmi\Desktop\vesras\app.py", line 100, in ves1
    .format(",".join(["\"{}\"".format(c) for c in columns])))
     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
IndexError: Replacement index 1 out of range for positional args tuple
  • Вопрос задан
  • 96 просмотров
Решения вопроса 1
@Everything_is_bad
1. сколько %s у тебя в query и сколько ты передаешь параметров, с {} тоже самое
2. всегда показывай полный traceback
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
SpectrumData Екатеринбург
от 150 000 до 200 000 ₽
Гринатом Москва
от 150 000 ₽
DIGITAL SECTOR Краснодар
от 150 000 до 250 000 ₽
19 июн. 2024, в 19:56
15000 руб./за проект
19 июн. 2024, в 19:25
1 руб./за проект