鍍金池/ 問(wèn)答/Python  數(shù)據(jù)庫(kù)/ flask_sqlalchemy的session用法疑問(wèn)

flask_sqlalchemy的session用法疑問(wèn)

flask_sqlalchemy的官方文檔用法如下:

>>> from yourapplication import User
>>> admin = User(username='admin', email='admin@example.com')
>>> guest = User(username='guest', email='guest@example.com')
>>> db.session.add(admin)
>>> db.session.add(guest)
>>> db.session.commit()

這里db.session可以直接使用,它是一個(gè)sqlalchemy.orm.scoping.scoped_session對(duì)象,但是我們看過(guò)sqlalchemy的教程就知道,sqlalchemy里推薦的用法需要把session實(shí)例化使用:

import sqlalchemy
from sqlalchemy import create_engine
from sqlalchemy.orm import scoped_session, sessionmaker
engine = create_engine(uri, convert_unicode=True)
session = scoped_session(sessionmaker(autocommit=False, autoflush=False, bind=engine))
sess = session()
sess.add(admin)
sess.commit()
sess.close()

此時(shí)的sess是一個(gè)sqlalchemy.orm.session.SignallingSession對(duì)象,用法和之前差不多,但是具體的區(qū)別是什么呢?

回答
編輯回答
維她命

scoped_session好像是一個(gè)輪巡,這樣寫的化好像是支持并發(fā)

2018年9月11日 19:33
編輯回答
糖果果

先上官方文檔:http://docs.sqlalchemy.org/en...
后續(xù)下班回家再補(bǔ)~

2018年3月30日 08:24