When using asyncio - queries etc use the new 2.0 query pattern e.g
@classmethod
async def get_active_for_facility(cls, async_db_session, facility_id):
query = select(cls).options(selectinload(cls.products)).\
where(cls.facility_id == facility_id).\
where(cls.active == True)
results = await async_db_session.execute(query)
(result,) = results.scalars().all()
return result
which also means using statements like select(cls).options(selectinload(cls.products)) to load the children. This is required when we are trying to include these objects as part of the API results.
While SQLAlchemy has extensive documentation about this we should extract our some useful tips and tricks to speed up the learning process, current hit list
When using
asyncio- queries etc use the new2.0query pattern e.gwhich also means using statements like
select(cls).options(selectinload(cls.products))to load the children. This is required when we are trying to include these objects as part of the API results.While SQLAlchemy has extensive documentation about this we should extract our some useful tips and tricks to speed up the learning process, current hit list