flask-sqlalchemy中的where语句查询语法是什么?

7 投票
2 回答
21750 浏览
提问于 2025-04-17 22:25

我正在使用flask-sqlalchemy,遇到的问题是想要使用类似于下面的条件:

select * from table_1 where id in (1,2,3,5)
OR
select * from table_1 where field_1_id in (select id from table_2 where .... )

还有像peewee ORM那样的get_or_create功能。

Object.get_or_create(.......)

我该如何用flask-sqlalchemy来生成这些语句呢?

2 个回答

1

另外,你也可以使用下面这种写法:

result = TableName.query.filter(TableName.id.in_([1,2,3]))

注意:我这里用的是flask-sqlalchemy这个库。

24

试试在sqlalchemy中使用.in_ 这个条件

result = db_session.query(table_1).filter(table_1.id.in_((1,2,3,5))).all()

注意: 这里假设 table_1 是你的模型

撰写回答