FASTAPI-ORMAR-UTILITIES
![](https://camo.githubusercontent.com/2386ad3f335bfbb90abe76fc27f780db71ab6a49b1d20c8f02ff04ea56ad074c/68747470733a2f2f7777772e636f64652d696e73706563746f722e636f6d2f70726f6a6563742f31393635372f73636f72652f737667)
Small package for better interaction with Ormar ORM.
This package makes your views cleaner
Features:
- Fully async
- Compatible with FastAPI
- In my opinion Ormar is the best ORM for FastAPI
- Support
select_related()
method
- Handle
Not found
exceptions
Install with pip
pip install fastapi-ormar-utilities[all]
Example usage:
from fastapi import APIRouter, Depends
from fastapi_ormar_utilities import Base
from .models import Item # import Ormar model
from .schemas import ItemCreate # import Pydantic model
router = APIRouter()
class ItemService(Base):
model = Item
@router.get('/')
async def get_items(
service: ItemService = Depends()
):
return await service.fetch_all()
@router.get('/')
async def get_items_with_related(
service: ItemService = Depends()
):
# if you want to add related field to the query
return await service.fetch_all(related_field='some_field')
@router.post('/')
async def create_item(
item_data: ItemCreate,
service: ItemService = Depends()
):
return await service.create(item_data)