我在设置Flask-SQLAlchemy时使用this问题的答案来修复循环导入。该解决方案之所以有效,是因为您不必从app
文件导入application.py
来获取数据库URI - 它会在运行应用程序之前初始化连接。现在的问题是我通常喜欢将我的models
文件导入到python解释器中,这样我就可以在不实际运行应用程序的情况下测试模型(以及与数据库的连接)。但是使用此设置,只导入models
将不会建立与PostGres的连接。
有没有办法通过Flask-SQLAlchemy
建立与PostGres的连接,而无需实际初始化和运行应用程序?也许我可以直接向我的数据库提供db
的URI?
答案 0 :(得分:0)
研究此代码 https://github.com/mattupstate/overholt github上有一个解释设计的链接。你应该关注的是使用flask-script。我认为你必须使用工厂模式,但如果你正在做任何非常严重的事情,你还是想这样做。
祝你好运
答案 1 :(得分:0)
看起来您正在搜索此github.com/mardix/active-alchemy
Active-Alchemy是SQLAlchemy的一个框架无关的包装器,通过实现像api这样的简单活动记录使它非常容易使用,同时它仍然使用下面的db.session。灵感来自Flask-SQLAlchemy