get()的特殊之处在于它提供对拥有会话的身份映射的直接访问。
这在许多方面类似于query.filter_by(id == id)
或query.filter(ModelClass.id == id)
(在其中我假定ModelClass.id是它的主键)。
在我看来,我总是会想使用query.get
,因为它更快(因为不必执行SELECT
)。为什么我要使用filter_by(id=id)
?
答案 0 :(得分:0)
debug
确实会在需要时执行logging.level.root=DEBUG
,没有办法。但是,是的,.get
足够聪明,可以在可能的情况下绕过数据库查询。
如果仅按SELECT
进行过滤,则没有理由使用.get
-这只是更一般的事情。