Python 带SQLAlchemy的PostgreSQL ILIKE查询
我想运行一个查询,选择所有标题与Python 带SQLAlchemy的PostgreSQL ILIKE查询,python,postgresql,sqlalchemy,flask,flask-sqlalchemy,Python,Postgresql,Sqlalchemy,Flask,Flask Sqlalchemy,我想运行一个查询,选择所有标题与'%'+[某些短语]+'%'匹配的文章,不区分大小写。也就是说,选择标题包含某些短语的所有行,不区分大小写。从我所做的研究来看,似乎我需要使用Postgres的ILIKE查询来匹配不区分大小写的内容。如何使用SQLAlchemy执行这样的查询 class Post(db.Model): id = db.Column(db.Integer, primary_key = True) title = db.Column(db.String(250))
'%'+[某些短语]+'%'
匹配的文章,不区分大小写。也就是说,选择标题包含某些短语的所有行,不区分大小写。从我所做的研究来看,似乎我需要使用Postgres的ILIKE查询来匹配不区分大小写的内容。如何使用SQLAlchemy执行这样的查询
class Post(db.Model):
id = db.Column(db.Integer, primary_key = True)
title = db.Column(db.String(250))
content = db.Column(db.String(5000))
我觉得应该行得通
Post.query.filter(Post.title.ilike('%some_phrase%'))
对于Python3.6,您可以编写
Post.query.filter(Post.title.ilike(f'%{some_phrase}%'))
与更严格的
like()
函数相比,这是否会影响性能?这取决于您使用的引擎:PostgreSQL、MySQL或其他。SQLAlchemy只是SQL的包装器。