问题
该Query.get()方法在 SQLAlchemy 2.0 中已弃用。因此,Flask-SQLAlchemy 查询接口被认为是遗留的。因此,User.query.get(1)在我的 Flask-SQLAlchemy 项目中运行会出现如下所示的遗留警告:
>>> User.query.get(1)
<stdin>:1: LegacyAPIWarning: The Query.get() method
is considered legacy as of the 1.x series of SQLAlchemy
and becomes a legacy construct in 2.0. The method is
now available as Session.get() (deprecated since: 2.0)
(Background on SQLAlchemy 2.0 at: https://sqlalche.me/e/b8d9)
<User spongebob>
Run Code Online (Sandbox Code Playgroud)
我的问题
Flask-SQLAlchemy 中新的 SQLAlchemy 2.0 兼容版本是什么User.query.get(1)?更具体地说,为什么 Flask-SQLAlchemy 文档推荐下面的方法 #2,尽管根据我对 SQLAlchemy 2.0 迁移指南的阅读,方法 #1 似乎是新版本?
方法#1:db.session.get(User, 1)
第一种方法来自 SQLAlchemy 文档,特别是 …