【发布时间】:2016-09-29 02:51:51
【问题描述】:
显式使用scoped_session有什么区别:
engine = create_engine(url)
session = scoped_session(sessionmaker(bind=engine))
session.add(..)
session.commit()
session.remove()
session.add(..)
session.commit()
session.remove()
并创建scoped_session 对象的实例:
engine = create_engine(url)
session = scoped_session(sessionmaker(bind=engine))
session().add(..)
session().commit()
session.remove()
session().add(..)
session().commit()
session.remove()
Sqlachemy 总是通过调用session() 为同一个线程返回同一个会话:
>> session() is session()
True
>> session is session()
False
这是在多线程环境中操作连接的正确方法吗?如果是这样,为什么 sqlalchemy 允许使用 session 而不是 session() 进行查询?
【问题讨论】:
标签: sqlalchemy