实际上我有一个代码可以从文本文件中获取必要的详细信息。
这里我从文本文件中获取一些 id。
然后我需要将相同的内容传递给 SQLAlchemy 查询以获取结果。
但是我没有得到这里需要的结果。
这是代码:
addys = ','.join('"{}"'.format(''.join(tenant)) for tenant in tenants if tenant)
#print "%s" % (addys)
# cleanup and close files
files.close()
query1 = query1.filter(model.name == "in-addr.arpa.")
query2 = query2.filter(model.tenant_id.in_([addys]))
这里'addys'的类型如下:
<type 'str'>
我没有在这里得到所需的结果。
有人帮我做同样的事。
注意:
在打印 addys 时得到的结果如下,这显然是正确的:
"1235b3a73ad24b9c86cf301525310b24","cbdf25542c194a069464f69efff4859a"
最佳答案
_in
方法的参数应该是一个 id 数组,但是您传递给它的列表只有一个元素 - 包含所有 id 的字符串,用逗号分隔。您需要使用 id 拆分字符串并将它们作为列表传递:
query = query.filter(model.tenant_id.in_(addys.split(',')))
或更改您之前的行:
tenant_ids = [''.join(tenant) for tenant in tenants if tenant]
query = query.filter(model.tenant_id.in_(tenant_ids))
关于python - 将字符串传递给 SQLalchemy 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33434863/