Sqlalchemy-flask. Плохо ли везде использовать один и тот же сеанс - PullRequest
0 голосов
/ 03 октября 2018

У меня есть следующее:

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
...