小编典典

sqlalchemy 中 .filter() 和 .where() 之间的区别

all

我已经看到了一些使用 SQLAlchemy 运行查询的变体。例如,这是一个版本:

posts = db.query(models.Post).filter(models.Post.owner_id==user.id).all()

使用上述或使用有什么区别.where?为什么这里有两种变体?


阅读 412

收藏
2022-07-28

共1个答案

小编典典

根据文档,没有区别。

方法sqlalchemy.orm.Query.where(*criterion)

的同义词Query.filter()

它是由这个提交在 1.4 版中添加的。根据提交消息,添加它的原因是为了将剩余的 ORM API 转换为支持 2.0 样式

您可以在此处阅读有关“2.0 风格”的更多信息。

2022-07-28