Skip to main content

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 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 call
  • a: the positional parameters
  • orm: optional ORM class with a .session() context manager method
  • session: 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cs.sqlalchemy_utils-20190319.1.tar.gz (2.8 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page