2024-05-13 10:28:47 发布
网友
标签列有“苹果香蕉橙”和“草莓香蕉柠檬”等值。我想找到与SQLAlchemy等价的语句
SELECT * FROM table WHERE tags LIKE "%banana%";
我应该传递给Class.query.filter()什么来执行此操作?
Class.query.filter()
尝试此代码
output = dbsession.query(<model_class>).filter(<model_calss>.email.ilike('%' + < email > + '%'))
每个列都有like()方法,可以在query.filter()中使用。给定一个搜索字符串,在任意一侧添加一个%字符,以在两个方向上作为子字符串进行搜索。
like()
query.filter()
%
tag = request.form["tag"] search = "%{}%".format(tag) posts = Post.query.filter(Post.tags.like(search)).all()
除上述答案外,无论谁寻找解决方案,您也可以尝试使用“match”运算符而不是“like”。我不想有偏见,但这对我在Postgresql中的工作非常有效。
Note.query.filter(Note.message.match("%somestr%")).all()
它继承数据库函数,例如CONTAINS和MATCH。但是,它在SQLite中不可用。
有关详细信息,请转到Common Filter Operators
尝试此代码
每个列都有
like()
方法,可以在query.filter()
中使用。给定一个搜索字符串,在任意一侧添加一个%
字符,以在两个方向上作为子字符串进行搜索。除上述答案外,无论谁寻找解决方案,您也可以尝试使用“match”运算符而不是“like”。我不想有偏见,但这对我在Postgresql中的工作非常有效。
它继承数据库函数,例如CONTAINS和MATCH。但是,它在SQLite中不可用。
有关详细信息,请转到Common Filter Operators
相关问题 更多 >
编程相关推荐