gpt4 book ai didi

python - SQLAlchemy 和多列不区分大小写的查询

转载 作者:行者123 更新时间:2023-11-29 11:10:17 34 4
gpt4 key购买 nike

假设我们有一个由column_1、column_2、...、column_n组成的表,并且它们都是字符串字段。我们要做的不区分大小写的查询条件存储在字典 d 中,例如 d[column_1] = "Hello",它可能包含也可能不包含所有列。我们如何进行查询?

我检查了问题Case Insensitive Flask-SQLAlchemy Query 。它包含很多很棒的答案,但如果我们在运行时之前不知道我们有什么条件,那么这些答案都不起作用。

最佳答案

您需要构建循环遍历字典的每个键的查询。

由于您没有提供任何代码示例,我将调用表模型类 TableModel ,每列将是 column_1column_2

这样的事情应该有效:

d = {'column_1': 'some_string', 'column_3': 'another_string'}
# skipping 'column_2' just to exemplify how every column is optional in the dictionary

my_query = TableModel.query

for k in d:
my_query = my_query.filter(getattr(TableModel, k).ilike(d[k]))

就是这样。之后,您可以将 my_query 用作任何其他查询,例如 my_query.count()my_query.all()

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

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com