试图在 Flask-SQLAlchemy 中使查询不区分大小写 [重复]
Posted
技术标签:
【中文标题】试图在 Flask-SQLAlchemy 中使查询不区分大小写 [重复]【英文标题】:Trying to make a query case insensitive in Flask-SQLAlchemy [duplicate] 【发布时间】:2022-01-20 11:33:59 【问题描述】:如何让这个查询不区分大小写?
result = db.session.query(countries).filter_by(name=country,capital=capital).first()
顺便说一句,我正在使用 Flask SQL-Alchemy。我可以做到 db.func.lower() 但我还没有找到在我的线路中正确使用它的方法。
【问题讨论】:
【参考方案1】:您应该使用filter
而不是filter_by
:
from sqlalchemy import func
result = db.session.query(countries).filter(
func.lower(countries.name) == name.lower(),
func.lower(countries.capital) == capital.lower()
).first()
如果countries
是一个表(不是模型),您应该使用countries.c.name
语法。
类似话题:Case Insensitive Flask-SQLAlchemy Query.
【讨论】:
非常感谢您的回答!你是对的。顺便说一句,我正在使用一张桌子!所以使用你展示的语法使它工作。顺便说一句,在您的代码中有 filter_by。这是最终为我工作的代码:result = db.session.query(countries).filter( db.func.lower(countries.c.name) == country.lower(), db.func.lower(countries.c.capital) == capital.lower() ).first()
这是拼写错误。已更正以上是关于试图在 Flask-SQLAlchemy 中使查询不区分大小写 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
试图在 Swift 中使 UISearchController 的功能类似于 iPhone 中的语言设置