У меня есть следующее:
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
app = Flask(name)
app.config['SQLALCHEMY_DATABASE_URI'] = Settings.POSTGRES_URL
app.config['SQLALCHEMY_BINDS'] = {}
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
app.config['ERROR_INCLUDE_MESSAGE'] = False
db.init_app(app)
Везде в моем приложении я использую одно и то же db.session
:
user = User(name="John")
db.session.add(user)
db.session.commit()
Если бы в моем приложении было несколько рабочих, я бы когда-нибудь поручил несколько пользователейв один звонок на commit
?Если да, то как я могу избежать этой проблемы?
Я запутался, потому что слышал, что сессия с областью действия должна быть одинаковой для всех модулей для одного запроса, такого как принятый ответ здесь .Однако я не вижу такого поведения при использовании метода create_scoped_session
.
>>> from lyric_base_module import db
>>> db.create_scoped_session() is db.create_scoped_session()
False