gpt4 book ai didi

python - 如何使用 Sqlalchemy postgres 搜索列中的多个值

转载 作者:行者123 更新时间:2023-12-01 00:47:22 25 4
gpt4 key购买 nike

我在 PostgreSQL 中有一个查询,它搜索并选择名为“news”的数组列中值为“0”或“3”的所有行。该列有一个包含多个值的数组。例如:

id   | country | news
---------------------
one | xyz | {'2','4','8'}
two | esc | {'0','4','2'}
three| eec | {'9','3','5'}

所以,

SELECT * FROM table WHERE news && '{"0", "3"}';

导致选择第二行和第三行。完美的。但我需要在 sqlalchemy 中执行此操作。

有人知道如何用 SQLalchemy 编写这个吗?

@balderman 帮助我使用了我用来编写此 sqlalchemy 代码的资源:

full_id_list = []
for n in ['0','3']:
ids = db.session.query(table).filter(table.news.op('@>')([n]))
full_id_list.append(booklist)

但是有没有更简单的方法,而不使用 for 循环?

最佳答案

终于解决了

db.session.query(Table).filter(Table.news.op('&&')(['0','3']))

我所要做的就是将操作 (.op) 从 @> 更改为 &&,因为 && 意味着您可以在具有值数组的列中搜索多个值。

关于python - 如何使用 Sqlalchemy postgres 搜索列中的多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56857152/

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