我看到了使用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风格";在这里