python - SQLALCHEMY or_ 列表理解

标签 python sqlalchemy flask-sqlalchemy

我正在尝试将列表理解与 or_ 结合使用。我已经找到一篇文章,展示了如何仅检查一列来完成此操作,但我不确定如何使用列表同时检查两列。我试过这样的事情:

q = q.filter(or_((model.column.contains(word), model.column2.contains(word))for word in search))

虽然这给了我一个错误的请求。任何有关如何使用列表同时搜索的建议,我们将不胜感激!

最佳答案

据我了解,您需要将条件解压or_() 的位置参数中:

columns = [model.column, model.column2]
conditions = [column.contains(word) for word in search for column in columns]
q = q.filter(or_(*conditions))

假设您想要“或”每个包含每个单词和所有给定列。

关于python - SQLALCHEMY or_ 列表理解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39352202/

相关文章:

python - sqlalchemy 一对多加入 Flask 应用程序以获得最大日期

python-3.x - SQLALCHEMY_DATABASE_URI 未设置

python - AmbiguousForeignKeysError : Couldn't determine join condition between parent/child tables on relationship User. posts - 多个外键路径

python - Django - 验证模型和 ModelForm 中计算字段的唯一性

python - SQLAlchemy 中使用 keys() 的列名顺序

python - 将Windows上的python脚本交叉编译为linux可执行文件

python - 从 SQL Server 到 Postgres 的 '😕' 上的 SQLAlchemy UnicodeEncodeError

python - Flask-SQLAlchemy数据库引擎返回表名,但元数据中的表键为空

python - 视频捕捉 : Capture Graph Error

python - 如何在 try except block 中检查某种类型的 OSError?