Reference

Main user functionality

aiohttp_sqlalchemy.setup(app, binds)

Setup function for SQLAlchemy binding to AIOHTTP application.

Parameters
  • app (aiohttp.web_app.Application) – your AIOHTTP application.

  • binds (Iterable[Tuple[sqlalchemy.orm.session.sessionmaker, str, bool]]) – iterable of aiohttp_sqlalchemy.bind() calls.

Return type

None

aiohttp_sqlalchemy.bind(target, key='sa_main', *, middleware=True)

Function wrapper for binding.

Parameters
  • target (Union[str, sqlalchemy.ext.asyncio.engine.AsyncEngine, sqlalchemy.orm.session.sessionmaker]) – argument can be database connection url, asynchronous engine or asynchronous session factory.

  • key (str) – key of SQLAlchemy binding.

  • middleware (bool) – bool for enable middleware. True by default.

Return type

Tuple[sqlalchemy.orm.session.sessionmaker, str, bool]

async aiohttp_sqlalchemy.init_db(app, metadata, key='sa_main')

Create all tables, indexes and etc.

Parameters
  • app (aiohttp.web_app.Application) – your AIOHTTP application.

  • metadata (sqlalchemy.sql.schema.MetaData) –

  • key (str) – key of SQLAlchemy binding.

Return type

None

aiohttp_sqlalchemy.get_session(request, key='sa_main')

Return AsyncSession instance.

Parameters
  • request (aiohttp.web_request.Request) – AIOHTTP request object.

  • key (str) – key of SQLAlchemy binding.

Return type

sqlalchemy.ext.asyncio.session.AsyncSession

Class based views

Warning

The API of class based views is experimental and unstable.

class aiohttp_sqlalchemy.SAMixin(request)

Bases: aiohttp_things.web_handlers.ContextMixin

Parameters

request (aiohttp.web_request.Request) –

Return type

None

property request: None

Request instance.

class aiohttp_sqlalchemy.SAModelMixin(request)

Bases: aiohttp_sqlalchemy.web_handlers.SAMixin

Parameters

request (aiohttp.web_request.Request) –

Return type

None

Instance mixins

class aiohttp_sqlalchemy.PrimaryKeyMixin(request)

Bases: aiohttp_things.web_handlers.PrimaryKeyMixin, aiohttp_sqlalchemy.web_handlers.SAModelMixin

Parameters

request (aiohttp.web_request.Request) –

Return type

None

class UnitAddMixin(request)

Bases: aiohttp_sqlalchemy.web_handlers.SAModelMixin, aiohttp_things.web_handlers.ItemMixin

property UnitAddMixin.request: None

Request instance.

property request: None

Request instance.

class aiohttp_sqlalchemy.UnitDeleteMixin(request)

Bases: aiohttp_sqlalchemy.web_handlers.DeleteStatementMixin, aiohttp_sqlalchemy.web_handlers.PrimaryKeyMixin

Parameters

request (aiohttp.web_request.Request) –

Return type

None

property request: None

Request instance.

class aiohttp_sqlalchemy.UnitEditMixin(request)

Bases: aiohttp_things.web_handlers.ItemMixin, aiohttp_sqlalchemy.web_handlers.UpdateStatementMixin, aiohttp_sqlalchemy.web_handlers.PrimaryKeyMixin

Parameters

request (aiohttp.web_request.Request) –

Return type

None

property request: None

Request instance.

class aiohttp_sqlalchemy.UnitViewMixin(request)

Bases: aiohttp_things.web_handlers.ItemMixin, aiohttp_sqlalchemy.web_handlers.SelectStatementMixin, aiohttp_sqlalchemy.web_handlers.PrimaryKeyMixin

Parameters

request (aiohttp.web_request.Request) –

Return type

None

property request: None

Request instance.

List mixins

class aiohttp_sqlalchemy.OffsetPaginationMixin(request)

Bases: aiohttp_things.web_handlers.PaginationMixin, aiohttp_sqlalchemy.web_handlers.SelectStatementMixin

Parameters

request (aiohttp.web_request.Request) –

Return type

None

page_key_adapter

alias of int

property request: None

Request instance.

class aiohttp_sqlalchemy.ListAddMixin(request)

Bases: aiohttp_things.web_handlers.ListMixin, aiohttp_sqlalchemy.web_handlers.SAModelMixin

Parameters

request (aiohttp.web_request.Request) –

Return type

None

property request: None

Request instance.

class aiohttp_sqlalchemy.ListDeleteMixin(request)

Bases: aiohttp_things.web_handlers.ListMixin, aiohttp_sqlalchemy.web_handlers.DeleteStatementMixin

Parameters

request (aiohttp.web_request.Request) –

Return type

None

property request: None

Request instance.

class aiohttp_sqlalchemy.ListEditMixin(request)

Bases: aiohttp_things.web_handlers.ListMixin, aiohttp_sqlalchemy.web_handlers.UpdateStatementMixin

Parameters

request (aiohttp.web_request.Request) –

Return type

None

property request: None

Request instance.

class aiohttp_sqlalchemy.ListViewMixin(request)

Bases: aiohttp_things.web_handlers.ListMixin, aiohttp_sqlalchemy.web_handlers.SelectStatementMixin

Parameters

request (aiohttp.web_request.Request) –

Return type

None

property request: None

Request instance.

Views

class aiohttp_sqlalchemy.SABaseView(request)

Bases: aiohttp.web_urldispatcher.View, aiohttp_sqlalchemy.web_handlers.SAMixin

Parameters

request (aiohttp.web_request.Request) –

Return type

None

class aiohttp_sqlalchemy.SAModelView(request)

Bases: aiohttp.web_urldispatcher.View, aiohttp_sqlalchemy.web_handlers.SAModelMixin

Parameters

request (aiohttp.web_request.Request) –

Return type

None

Additional functionality

aiohttp_sqlalchemy.sa_decorator(key='sa_main')

SQLAlchemy asynchronous handler decorator.

Parameters

key (str) – key of SQLAlchemy binding.

Return type

Callable[[…], Callable[[…], Awaitable[aiohttp.web_response.StreamResponse]]]

aiohttp_sqlalchemy.sa_middleware(key='sa_main')

SQLAlchemy asynchronous middleware factory.

Parameters

key (str) – key of SQLAlchemy binding. Has default.

Return type

Callable[[…], Awaitable[aiohttp.web_response.StreamResponse]]

async aiohttp_sqlalchemy.get_engine(app, key='sa_main')

Return AsyncEngine instance.

Parameters
  • app (aiohttp.web_app.Application) – your AIOHTTP application.

  • key (str) – key of SQLAlchemy binding.

Return type

sqlalchemy.ext.asyncio.engine.AsyncEngine

aiohttp_sqlalchemy.get_session_factory(source, key='sa_main')

Return callable object which returns an AsyncSession instance.

Parameters
  • source (Union[aiohttp.web_request.Request, aiohttp.web_app.Application]) – AIOHTTP request object or your AIOHTTP application.

  • key (str) – key of SQLAlchemy binding.

Return type

sqlalchemy.orm.session.sessionmaker