perador LIKE de @SQLAlchemy, sustitución de variables con% de expansión
Soy bastante nuevo en Python, y actualmente quiero aprender el marco Flask antes de pasar a marcos más grandes como Django, pero ahora tengo una pregunta sobre SQLAlchemy.
Estoy tratando de obtener una consulta en una variable llamada resultados, en la que consulto la base de datos para encontrar los libros con un título como la entrada de la barra de búsqueda recibida de un método de publicación. La consulta que estoy ejecutando es la siguiente:
results = db.execute("SELECT * FROM books WHERE title .like(%:search%)", {"search" : search}).fetchall();
Con la consulta anterior, obtengo el siguiente error: sqlalchemy.exc.ProgrammingError: error de sintaxis (psycopg2.ProgrammingError) en "o cerca de"% ".
Esto funciona como se espera si elimino el%, o si le doy manualmente un parámetro a la función .like (por ejemplo: .like ("% the%"), pero esto realmente no devuelve ningún resultado a menos que la búsqueda sea exactamente como cualquiera de los títulos de libros en la base de datos, y anula el propósito de usar la sustitución de variables al codificar los parámetros. También me pregunto si es posible usar ILIKE para consultas insensibles a mayúsculas y minúsculas con SQLAlchemy.
Soy consciente de que podría usar el mapeo relacional de objetos y usar diferentes funciones, como la función de filtro y otras cosas, pero para esta asignación estamos destinados a no usar ORM y usar consultas simples. ¿Alguna sugerencia
Gracias por adelantad