Допустим есть таблица my_tables и список полей этой таблицы col = ['id', 'data', 'price'].
Задача состоит в переименовании поля, которое выберет пользователь из списка.
Допустим, пользователь выбирает поле price и вводит новое имя. Мне помогла данная команда:
my_table.c.price.alter(name='новое имя поля price')
Где,
my_table - имя таблицы, с - column, price - имя выбранного поля, alter - метод изменения имени поля.
Но проблема в том, что команда работает только если я вручную укажу поле price.
Если же я захочу автоматически передать из списка введенное значение в команду(как в коде ниже), то выскакивает ошибка.
my_table.c.col[2].alter(name='новое имя')
Если ли способ это исправить? Как я понял проблема в том, что из списка мы получаем объект типа string, а в команде тип class 'sqlalchemy.sql.schema.Column'.
Команды брал из документации sqlalchemy.migrate