
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
some_engine = create_engine('nysql://username:password@localhost/mydb?charset=utf8')
ession = sessionmaker(bind=some_engine)
session = Session()class SomeThing(object):
def go(self, session):
# Do something
def run_my_program():
session = Session()
try:
SomeThing().go(session)
session.commit()
except:
session.rollback()
raise
finally:
session.close()from sqlalchemy.orm import scoped_session
from sqlalchemy.orm import sessionmaker
session_factory = sessionmaker(bind=some_engine)
some_session = Session() # 全局唯一,session1 = Session() 和 session2 = Session() 引用相同,除非其中一个先销毁