我正在尝试使用字符串列表查询我的 PostgreSQL 数据库。我想返回其列条目与该字符串匹配的所有行,并且我希望它不区分大小写,以便它找到更多的东西。

fruits = ['apple', 'orange', 'pear', 'grape', 'watermelon', 'asian pear']

在这种情况下,“亚洲梨”可以在数据库中大写。
obs = session.query(datamodel).filter(datamodel.fruitname._in(fruits)).all()

我知道 func.lower() 并且我将它用于单个查询,但我不确定在使用时将它放在哪里。

我会在单项查询中像这样使用 func.lower:
obs =session.query(datamodel).filter(func.lower(datamodel.fruitname)==func.lower(fruits[5]))).first()

最佳答案

愚蠢的我...

在写这个问题时,我想通了......
这就是答案……

session.query(datamodel).filter(func.lower(datamodel.fruitname).in_(fruits)).all()

关于python - 通过列表不区分大小写进行 SQLAlchemy 查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22291535/

10-12 16:03