文章内容

2024/2/27 0:41:17,作 者: 黄兵

ImportError: cannot import name 'get_debug_queries' from 'flask_sqlalchemy'

最近更新了 flask_sqlalchemy 包之后,出现了如下错误:

ImportError: cannot import name 'get_debug_queries' from 'flask_sqlalchemy'

经过查询官方文档,get_debug_queries 在 3.0.0 版本已经更改为 get_recorded_queries,具体说明如下:

  • get_debug_queries is renamed to get_recorded_queries to better match the config and functionality.

这个是官方文档说明。

解决方案:

我们直接将这段代码:

from flask_sqlalchemy import get_debug_queries
@main.after_app_request
def after_request(response):
    for query in get_debug_queries():
        if query.duration >= current_app.config['FLASKY_SLOW_DB_QUERY_TIME']:
            current_app.logger.warning('Slow query: %s\nParameters: %s\nDuration: %fs\nContext: %s\n'
                                       % (query.statement, query.parameters, query.duration, query.context))
    return response

更改为:

from flask_sqlalchemy import record_queries
@main.after_app_request
def after_request(response):
    for query in record_queries.get_recorded_queries():
        if query.duration >= current_app.config['FLASKY_SLOW_DB_QUERY_TIME']:
            current_app.logger.warning('Slow query: %s\nParameters: %s\nDuration: %fs\nContext: %s\n'
                                       % (query.statement, query.parameters, query.duration, query.location))
    return response

再次运行代码,问题解决。


参考资料:

1、Flask-SQLAlchemy - Changes

2、Flask-SQLAlchemy - Record Queries


黄兵个人博客原创。

转载请注明出处:黄兵个人博客 - ImportError: cannot import name 'get_debug_queries' from 'flask_sqlalchemy'

分享到:

发表评论

评论列表