WebプロジェクトでSQlAlchemyを使用しています。何を使用する必要がありますscoped_session(sessionmaker())
か(またはプレーンsessionmaker()
)、そしてその理由は何ですか?それとも私は何か他のものを使うべきですか?
## model.py
from sqlalchemy import *
from sqlalchemy.orm import *
engine = create_engine('mysql://dbUser:dbPassword@dbServer:dbPort/dbName',
pool_recycle=3600, echo=False)
metadata = MetaData(engine)
Session = scoped_session(sessionmaker())
Session.configure(bind=engine)
user = Table('user', metadata, autoload=True)
class User(object):
pass
usermapper = mapper(User, user)
## some other python file called abc.py
from models import *
def getalluser():
session = Session()
session.query(User).all()
session.flush()
session.close()
## onemore file defg.py
from models import *
def updateuser():
session = Session()
session.query(User).filter(User.user_id == '4').update({User.user_lname: 'villkoo'})
session.commit()
session.flush()
session.close()
session = Session()
リクエストごとにオブジェクトを作成し、閉じます。私は正しいことをしていますか、それともそれを行うためのより良い方法がありますか?