def create_session(self,
bind,
options=None,
session_class=Session,
query_class=SQLQuery):
"""Factory function to create a scoped session using `bind`.
Args:
bind (Engine|Connection): Database engine or connection instance.
options (dict, optional): Session configuration options.
session_class (obj, optional): Session class to use when creating
new session instances. Defaults to :class:`.Session`.
query_class (obj, optional): Query class used for ``session.query``
instances. Defaults to :class:`.SQLQuery`.
Returns:
Session: SQLAlchemy session instance bound to `bind`.
"""
if options is None: # pragma: no cover
options = {}
if query_class:
options['query_cls'] = query_class
scopefunc = options.pop('scopefunc', None)
session_factory = orm.sessionmaker(bind=bind,
class_=session_class,
**options)
return orm.scoped_session(session_factory, scopefunc=scopefunc)
评论列表
文章目录