SQLAlchemy 2.0无法读取SQLite表?旧版本查询功能正常
SQLAlchemy 2.0新
select命令查询异常问题 我用以下脚本测试SQLite数据库连接,功能正常:
from flask import Flask from flask_sqlalchemy import SQLAlchemy from sqlalchemy.sql import text db = SQLAlchemy() app = Flask(__name__) db_name = 'sockmarket.db' app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///' + db_name app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True db.init_app(app) @app.route('/') def testdb(): try: db.session.query(text('1')).from_statement(text('SELECT 1')).all() return '<h1>It works.</h1>' except Exception as e: error_text = "<p>The error:<br>" + str(e) + "</p>" hed = '<h1>Something is broken.</h1>' return hed + error_text if __name__ == '__main__': app.run(debug=True)
但使用SQLAlchemy 2.0的新select命令时出现异常:脚本仅输出<ul>标签,标签内无内容,且不抛出任何错误。
我已反复检查Model定义,也在Python解释器中验证过数据库及表可正常读取,该数据库与表为已存在资源。数月前使用旧版SQLAlchemy时,相同Model及以下查询语句可正常工作:
socks = Sock.query.filter_by(style='mini').order_by(Sock.name).all()
内容的提问来源于stack exchange,提问作者macloo
相关产品推荐
相关产品推荐

