Declarative eager loading via RelatedConfig inside Pydantic schemas.
Add select_related = [...] and/or prefetch_related = [...] to a schema's inner RelatedConfig class, and BaseViewset / AsyncBaseViewset automatically applies joinedload / selectinload (SQLAlchemy) or prefetch_related (Tortoise) on LIST and GET endpoints. This eliminates N+1 queries without duplicating configuration between schemas and viewsets.
All adapter methods (get_list_queryset, get_element_by_id, and their async counterparts) accept optional select_related and prefetch_related arguments for explicit overrides.
Full backward compatibility: new parameters default to None; existing code works unchanged.
Hotfix: SQLAlchemyAdapter no longer crashes at construction when the async DB-API driver (aiosqlite / asyncpg / aiomysql) is missing. Sync-only setups keep working out of the box; get_async_session() raises a helpful RuntimeError lazily if you try to use async without the driver.