Assorted utility functions to support working with SQLAlchemy.
Project description
Assorted utility functions to support working with SQLAlchemy.
Function auto_session(func)
Decorator to run a function in a session is not presupplied.
Class ORM
A convenience base class for an ORM class.
This defines a .Base
attribute which is a new DeclarativeBase
and provides various Session related convenience methods.
Subclasses must define their private ._Session
factory in
their own __init__
, for example:
self._Session = sessionmaker(bind=engine)
Function orm_auto_session(method)
Decorator to run a method in a session derived from self.orm
if a session is not presupplied.
Intended to assist classes with a .orm
attribute.
Function with_session(func, *a, orm=None, session=None, **kw)
Call func(*a,session=session,**kw)
, creating a session if required.
This is the inner mechanism of @auto_session
and
ORM.auto_session_method
.
Parameters:
func
: the function to calla
: the positional parametersorm
: optional ORM class with a.session()
context manager methodsession
: optional existing ORM session
One of orm
or session
must be not None
; if session
is None
then one is made from orm.session()
and used as
a context manager. The session
is also passed to func
as
the keyword parameter session
to support nested calls.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for cs.sqlalchemy_utils-20190403.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8ccd3b7e1652254d76005af747f520cf7ba2a94427206950b73bd54b01f146bc |
|
MD5 | 2cb1f1ab684a1ecd06ff8a157f018271 |
|
BLAKE2b-256 | 2e63bfd3e774dfb7bed4075104d2650f9a545898a14fec45f1fbe4d56a8a5a18 |