断言错误:sqlalchemy 扩展未注册到当前应用程序



从表单输入数据时出错。The sqlalchemy extension was not registered to the current application. Please make sure to call init_app() first.

我已经初始化了 app.py 文件中的init_app(),如下所示:

if __name__ == "__main__":
db.create_all()
db.init_app(app)

这是我创建数据库 URI 的地方:

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///report.sqlite3'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
app.config.from_object(config.DevelopementConfig)

我在使用 app.run(( 之前尝试过初始化,但最终删除了它,因为我意识到我正在初始化应用程序两次。

我还没有创建_init.py_文件。创建init.py是否需要

?我也收到警告,因为尽管我正在设置它SQL_ALCHEMY_DATABASE_URI但尚未设置。我还使用了 4 种不同的数据库模型。

我所做的是命名一个变量,然后从那里初始化它。我可能不知道我在说什么,但它对我有用。把它放在代码的开头。

sqlalchemy = SQLAlchemy()
sqlalchemy.init_app(app)

之后没有问题。

最新更新