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.
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.
Views
- 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]