首页 > 解决方案 > SQLAlchemy:使用给定数组中的元素查询数据库列

问题描述

我在使用 SQL ALchemy 编写查询时遇到问题,我在 Python 3.6 中运行。我需要使用数组中包含的参数过滤 SQLite 数据库中列的内容。到目前为止,我一直在使用以下方法从数据库中选择元素:

conn.execute(select([(mydatabase)]).where(mydatabase.c.filename == samplefile1 ))

但是,现在我的程序提供了包含在数组中的可能文件列表:

files = [ filename1, filename2, filename3 ]

我想创建一个查询,自动运行数组中提供的可能名称,并使用简单的方法选择它们:

conn.execute(select([(mydatabase)]).where(or_(mydatabase.c.filename == filename1, mydatabase.c.filename == filename2 ... ect ))

有没有办法自动化这个?还是我必须一直手动通过这些?这是一个问题,因为每次程序运行时,文件数组中可能有不同数量的名称。

谁能帮我解决这个问题?是否可以使用 for 循环来编写它?

标签: pythonsqlarrayssqlitesqlalchemy

解决方案


推荐阅读