anomaly / anomaly/lab-python-server
Document relevant asyncio notes for SQLAlchemy
- Ngôn ngữ chính
- Python
- Star
- 16
- Fork
- 4
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
When using `asyncio` - queries etc use the new `2.0` query pattern e.g
```python
@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](https://docs.sqlalchemy.org/en/14/orm/extensions/asyncio.html) we should extract our some useful tips and tricks to speed up the learning process, current hit list
- [ ] Defining [relationships for eager loading](https://leontrolski.github.io/sqlalchemy-relationships.html)
- [ ] Querying many or single objects
- [ ] Loading objects multiple levels deep
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Đánh giá
Issue này chưa được đánh giá.