SQLAlchemy equivalent to SQL "LIKE" statement
try this code
output = dbsession.query(<model_class>).filter(<model_calss>.email.ilike('%' + < email > + '%'))
Adding to the above answer, whoever looks for a solution, you can also try 'match' operator instead of 'like'. Do not want to be biased but it perfectly worked for me in Postgresql.
Note.query.filter(Note.message.match("%somestr%")).all()
It inherits database functions such as CONTAINS and MATCH. However, it is not available in SQLite.
For more info go Common Filter Operators
In case you want the case insensitive like clause implementation:
session.query(TableName).filter(TableName.colName.ilike(f'%{search_text}%')).all()
Each column has like()
method, which can be used in query.filter()
. Given a search string, add a %
character on either side to search as a substring in both directions.
tag = request.form["tag"]
search = "%{}%".format(tag)
posts = Post.query.filter(Post.tags.like(search)).all()