使用 python ORM 构建 SQL 查询 IN
Building SQL query IN, using python ORM
我想做这样的查询:
SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1, value2, ...);
使用 python ORM。
我当前的代码如下:
# list_active_fugitives = [1, 2, 3]
for person_id in list_active_fugitives:
person = db.session.query(models.Person).filter(models.Person.external_id == person_id)
person[0].is_active = True
db.session.commit()
我的目标是为具有正确 external_id
列的所有记录更新值 is_active
。
external_id
对每一行都是唯一的。
我可以在不遍历每条记录的情况下做到这一点吗?
您可以使用 ._in
功能
res = db.session.query(models.Person).filter(models.Person.external_id._in(list_active_fugitives ))
for row in res:
row.is_active = True
db.session.commit()
我想做这样的查询:
SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1, value2, ...);
使用 python ORM。
我当前的代码如下:
# list_active_fugitives = [1, 2, 3]
for person_id in list_active_fugitives:
person = db.session.query(models.Person).filter(models.Person.external_id == person_id)
person[0].is_active = True
db.session.commit()
我的目标是为具有正确 external_id
列的所有记录更新值 is_active
。
external_id
对每一行都是唯一的。
我可以在不遍历每条记录的情况下做到这一点吗?
您可以使用 ._in
功能
res = db.session.query(models.Person).filter(models.Person.external_id._in(list_active_fugitives ))
for row in res:
row.is_active = True
db.session.commit()