不区分大小写的Flask-SQLAlchemy查询
我正在使用Flask-SQLAlchemy从用户数据库中查询;但是,虽然
user = models.User.query.filter_by(username="ganye").first()
will return
<User u'ganye'>
doing
user = models.User.query.filter_by(username="GANYE").first()
returns
None
我想知道是否有一种以不区分大小写的方式查询数据库的方法,以便第二个示例仍然返回
<User u'ganye'>
回答:
你可以使用过滤器中的lower
或upper
功能来完成此操作:
from sqlalchemy import funcuser = models.User.query.filter(func.lower(User.username) == func.lower("GaNyE")).first()
另一种选择是使用ilike
而不是进行搜索like
:
.query.filter(Model.column.ilike("ganye"))
以上是 不区分大小写的Flask-SQLAlchemy查询 的全部内容, 来源链接: utcz.com/qa/417332.html