Другие пакеты видят изменения, внесенные в объекты внутри фабричных методов в python? - PullRequest
0 голосов
/ 02 апреля 2019

Я пытаюсь интегрировать SQLAlchemy в свое приложение. В настоящее время я использую фабрики приложений. мой app/__init__.py выглядит как ниже

from flask import Flask

def create_app(config_filename):
    app = Flask(__name__)
    app.config.from_pyfile(config_filename)

    from app.views.admin import admin

    app.register_blueprint(frontend)

    return app

Теперь я хочу использовать sqlalchemy, но объект sqlalchemy требует, чтобы экземпляр моего приложения был правильно создан. В этой документации http://flask.pocoo.org/docs/1.0/patterns/appfactories/, рекомендуется создать этот объект в отдельном файле, например, скажем model.py

.
db = SQLAlchemy()

Затем внутри моего фабричного метода create_app в __init__.py я добавляю это

from app.model import db
db.init_app(app)

Теперь мой вопрос: если я импортирую db в другие файлы, буду ли я импортировать базу данных, инициализированную экземпляром моего приложения, или только то, что объявлено в файле model.py.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...