Reference

Main user functionality

aiohttp_sqlalchemy.setup(app, binds)

Setup function for SQLAlchemy binding to AIOHTTP application.

Parameters:
  • app (Application) – your AIOHTTP application.

  • binds (TBinds) – iterable of aiohttp_sqlalchemy.bind() calls.

Return type:

None

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

Function wrapper for binding.

Parameters:
  • target (str | AsyncEngine | async_sessionmaker[AsyncSession]) – 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[async_sessionmaker[AsyncSession], str, bool]

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

Create all tables, indexes and etc.

Parameters:
  • app (Application) – your AIOHTTP application.

  • metadata (MetaData) –

  • key (str) – key of SQLAlchemy binding.

Return type:

None

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

Return AsyncSession instance.

Parameters:
  • request (Request) – AIOHTTP request object.

  • key (str) – key of SQLAlchemy binding.

Return type:

AsyncSession

Class based views

Warning

The API of class based views is experimental and unstable.

class aiohttp_sqlalchemy.SAMixin(request)

Bases: ContextMixin

Parameters:

request (Request)

property request: None

Request instance.

class aiohttp_sqlalchemy.SAModelMixin(request)

Bases: SAMixin

Parameters:

request (Request)

Instance mixins

class aiohttp_sqlalchemy.PrimaryKeyMixin(request)

Bases: PrimaryKeyMixin, SAModelMixin

Parameters:

request (Request)

class UnitAddMixin(request)

Bases: SAModelMixin, ItemMixin

property UnitAddMixin.request: None

Request instance.

property request: None

Request instance.

class aiohttp_sqlalchemy.UnitDeleteMixin(request)

Bases: DeleteStatementMixin, PrimaryKeyMixin

Parameters:

request (Request)

property request: None

Request instance.

class aiohttp_sqlalchemy.UnitEditMixin(request)

Bases: ItemMixin, UpdateStatementMixin, PrimaryKeyMixin

Parameters:

request (Request)

property request: None

Request instance.

class aiohttp_sqlalchemy.UnitViewMixin(request)

Bases: ItemMixin, SelectStatementMixin, PrimaryKeyMixin

Parameters:

request (Request)

property request: None

Request instance.

List mixins

class aiohttp_sqlalchemy.OffsetPaginationMixin(request)

Bases: PaginationMixin, SelectStatementMixin

Parameters:

request (Request)

page_key_adapter

alias of int

property request: None

Request instance.

class aiohttp_sqlalchemy.ListAddMixin(request)

Bases: ListMixin, SAModelMixin

Parameters:

request (Request)

property request: None

Request instance.

class aiohttp_sqlalchemy.ListDeleteMixin(request)

Bases: ListMixin, DeleteStatementMixin

Parameters:

request (Request)

property request: None

Request instance.

class aiohttp_sqlalchemy.ListEditMixin(request)

Bases: ListMixin, UpdateStatementMixin

Parameters:

request (Request)

property request: None

Request instance.

class aiohttp_sqlalchemy.ListViewMixin(request)

Bases: ListMixin, SelectStatementMixin

Parameters:

request (Request)

property request: None

Request instance.

Views

class aiohttp_sqlalchemy.SABaseView(request)

Bases: View, SAMixin

Parameters:

request (Request)

class aiohttp_sqlalchemy.SAModelView(request)

Bases: View, SAModelMixin

Parameters:

request (Request)

Additional functionality

aiohttp_sqlalchemy.sa_decorator(key='sa_main')

SQLAlchemy asynchronous handler decorator.

Parameters:

key (str) – key of SQLAlchemy binding.

Return type:

THandlerWrapper

aiohttp_sqlalchemy.sa_middleware(key='sa_main')

SQLAlchemy asynchronous middleware factory.

Parameters:

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

Return type:

THandler

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

Return AsyncEngine instance.

Parameters:
  • app (Application) – your AIOHTTP application.

  • key (str) – key of SQLAlchemy binding.

Return type:

AsyncEngine

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

Return callable object which returns an AsyncSession instance.

Parameters:
  • source (Request | Application) – AIOHTTP request object or your AIOHTTP application.

  • key (str) – key of SQLAlchemy binding.

Return type:

async_sessionmaker[AsyncSession]