文章内容
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 toget_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
再次运行代码,问题解决。
参考资料:
2、Flask-SQLAlchemy - Record Queries
黄兵个人博客原创。
转载请注明出处:黄兵个人博客 - ImportError: cannot import name 'get_debug_queries' from 'flask_sqlalchemy'
ModuleNotFoundError: No module named 'MySQLdb'
Exception: Install 'email_validator' for email validation support.
Exception: Install 'email_validator' for email validation support.
评论列表