[程序]sqlalchemy文档资料翻译(三) -- 创建 Session
英文原文链接地址
我们现在开始讨论数据库。ORM 通过 Session 来操纵数据库。当我们第一次创建应用,在 create_engine() 命令同级,我们定义一个 Session 类,该类是提供 Session 对象的工厂:
>>> from sqlalchemy.orm import sessionmaker
>>> Session = sessionmaker(bind=engine)
在那些还没有指定 Engine 的应用中,我们可以采用如下的方式来声明:
>>> Session = sessionmaker()
稍后,当你通过 create_engine() 创建了你的 engine 后,我们可以使用 configure() 来将其与 Session 对象关联:
>>> Session.configure(bind=engine) # once engine is available
定制 Session 类将创建新的 Session 对象来绑定到我们的数据库。其他事务特性也可在 sessionmaker() 中定义,这些我们将在后续的章节中讲解。一旦你需要和数据库发生交互,你需要实例化 Session:
>>> session = Session()
上述的 Session 与我们的 SQLite 引擎关联,但此时并不开启任何连接。当其第一次被使用的时候,他将从由引擎维护的连接池中检索出可用连接,并一直使用该连接知道提交所有的改变或关闭 session 对象。