我正在尝试将列表理解与 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/