SQLAlchemy ошибка выборки

Рейтинг: 0Ответов: 1Опубликовано: 07.03.2023

Если делаю такую выборку в FastApi:

data = con.execute(
        f"SELECT * FROM TABLE_NAME").fetchall()

то выборку вижу.

А если так:

data = con.execute(
        f"SELECT * FROM TABLE_NAME as tn WHERE tn.field1 LIKE '%моя%' or tn.field2 LIKE '%моя%'").fetchall()

то выскакивает ошибка:

(Background on this error at: https://sqlalche.me/e/14/f405)

В документации об этом написано:

Исключение, вызванное ошибками программирования, например, таблица не найдена или уже существует, синтаксическая ошибка в инструкции SQL, неверное количество заданных параметров и т. Д.

Я что-то понять не могу в чем ошибка? Я же ведь проверил этот запрос в DataGrid - и он там прекрасно отработал, почему тут не хочет отрабатывать?

Ответы

▲ 0Принят

Во-общем, если кто-то столкнется с похожей проблемой, то вот как я ее решил (запрос отправлять через text()):

from sqlalchemy import text
data = con.execute(text(f"SELECT * FROM TABLE_NAME as tn WHERE tn.field1 LIKE '%моя%' or tn.field2 LIKE '%моя%'")).fetchall()