Flask应用程序中的服务和flask_sqlalchemy

时间:2019-05-02 17:51:19

标签: flask sqlalchemy flask-sqlalchemy

我正在构建一个大型,复杂的Flask应用程序。它具有很多路由功能(需要进行数据库调用)和很多服务(还需要进行数据库调用)。

我正在使用flask_sqlalchemy使用模型语法(User.query)正常执行路由功能中的数据库调用。

我还想在服务中进行数据库调用。但是,如果没有设置应用上下文,我将无法做到这一点:

with app.app_context():
    User.query

这需要导入应用程序,这会导致循环导入(因为该应用程序导入了路线,从而导入了服务,必须导入了应用程序)。

问题1:您知道解决该圆形进口问题的方法吗?

另一种方法可能是在路由中使用flask_sqlalchemy,在服务中使用sqlalchemy。这意味着除了数据库URL和模型之外,不需要共享任何内容。

问题2:您知道在flask_sqlalchemy和普通sqlalchemy中使用相同模型文件的方法吗?

我已经尝试过:https://dev.to/nestedsoftware/flask-and-sqlalchemy-without-the-flask-sqlalchemy-extension-3cf8

...但是它破坏了我的人际关系。

我正在遵循此处显示的烧瓶应用程序模式:https://github.com/sloria/cookiecutter-flask/blob/master/%7B%7Bcookiecutter.app_name%7D%7D/README.rst(应用程序工厂)

谢谢, 路易丝

0 个答案:

没有答案