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



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

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

使用以上内容和使用.where有什么区别?为什么这里有两种变体?

根据文档,没有区别。

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

Query.filter()的同义词。

它是通过此提交添加到1.4版本中的。根据提交消息,添加它的原因是将剩余的ORM API转换为支持2.0风格

你可以阅读更多关于";2.0风格";在这里

最新更新