конструкции с другой стороны переводят именованный стиль в то, что когда-либо использует DB-API.

ольно новичок в Python, и в настоящее время я хочу изучить среду Flask, прежде чем переходить к более крупным средам, таким как Django, но теперь у меня есть вопрос, касающийся SQLAlchemy.

Я пытаюсь получить запрос к переменной с именем results, в которой я запрашиваю базу данных, чтобы найти книги с заголовком, например, входные данные из строки поиска, полученные из метода post. Запрос, который я выполняю, выглядит следующим образом:

results = db.execute("SELECT * FROM books WHERE title .like(%:search%)", {"search" : search}).fetchall();

С помощью вышеуказанного запроса я получаю следующую ошибку: sqlalchemy.exc.ProgrammingError: (psycopg2.ProgrammingError) синтаксическая ошибка на уровне или около "%".

Это работает, как и ожидалось, если я удаляю%, или если я вручную даю параметру .like параметр (например: .like ("% the%"), но это на самом деле не возвращает никаких результатов, если поиск не совсем такой, как любой названий книг в базе данных, и это побеждает цель использования подстановки переменных путем жесткого кодирования параметров. Мне также интересно, возможно ли использовать ILIKE для запросов без учета регистра с помощью SQLAlchemy.

Мне известно, что я мог бы использовать объектно-реляционное сопоставление и использовать различные функции, такие как функция фильтра и тому подобное, но для этого назначения мы не должны использовать ORM и использовать простые запросы. Какие-либо предложения?

заранее спасибо

Ответы на вопрос(1)

Ваш ответ на вопрос