SQLAlchemy 中 .filter() 和 .where() 的区别

6

我见过用SQLAlchemy运行查询的几种不同方式。例如,以下是其中一种版本:

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

使用上述方法和使用.where有什么区别?为什么这里有两种变化形式?

1个回答

16
根据文档,两者没有区别。

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

Query.filter()的同义词。

where()方法是在版本1.4中通过该提交添加的。 根据提交消息,添加此方法的原因是“将剩余的ORM API转换为支持2.0样式”。您可以在此处阅读有关“2.0样式”的更多信息。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接