我正在尝试创建一个Python Web应用程序来连接到现有的sqlite数据库。这是我的代码
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from sqlalchemy.ext.declarative import declarative_base
app = Flask(__name__)
app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///history.db"
db = SQLAlchemy(app)
app.app_context().push()
db.reflect()
History = db.Table(
"history",
db.Model.metadata,
autoload=True,
autoload_with=db.engine
)
print(db.Table("history", db.Model.metadata).columns.items())
但是此代码会生成以下错误:
TypeError: Additional arguments should be named <dialectname>_<argument>, got 'autoload'
我可以找到使用
sqlalchemy
加载现有数据库模式的文档,但没有找到使用 flask_sqlalchemy
加载数据库模式的文档
如何使用
flask_sqlalchemy
将我的 sqlite 数据库加载到 Flask 应用程序中?
您不需要包含参数
autoload
。autoload_with
参数而不是 autoload
。 (参见
您的代码将如下所示:
History = db.Table(
"history",
db.Model.metadata,
autoload_with=db.engine
)