gpt4 book ai didi

python - 什么是 python 'in' 但对于 sqlalchemy

转载 作者:行者123 更新时间:2023-11-29 02:47:55 25 4
gpt4 key购买 nike

我有一本字典,用于查询数据库中的匹配项。我有一个不适合我的查询行。如果我有这样的列表:

user['names']= [Alice, Bob, John]

因为这是一个列表,所以我尝试使用这样的东西:

 q.filter(UserTable.firstname in user['firstnames'])

但无论出于何种原因,这都行不通。但是,我知道 Bob 在数据库中。当我手动下拉所有查询时,我可以看到其中一行中有名称。如果我改为这样做:

q.filter(UserTable.firstname == user['firstnames'][1]) #Only does Bob

它有效。当我手动提取所有查询时,将每一行转换为字典,然后执行

row[#row_that_matches].firstname in user['names']

这也行。但是出于某种原因,在 sqlalchemy 中使用“in”关键字并不能按预期工作。有谁知道可以对值列表中的某些内容进行 sqlalchemy 查询的替代方法?

最佳答案

使用 in_() column method针对序列测试列:

q.filter(UserTable.firstname.in_(user['firstnames'])

参见 Common Filter Operations section对象关系教程:

IN:

query.filter(User.name.in_(['ed', 'wendy', 'jack']))

# works with query objects too:
query.filter(User.name.in_(
session.query(User.name).filter(User.name.like('%ed%'))
))

关于python - 什么是 python 'in' 但对于 sqlalchemy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39581531/

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