You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 03:32:43