Extras¶
pydantic-aioredis works well with other python modules in the pydantic ecosystem. There are some extras offered to make those integrations tighter
FastAPI¶
The FastAPI extra adds a new base model called FastAPIModel. It has a single additional classmethod, select_or_404.
Usage¶
from pydantic_aioredis.config import RedisConfig
from pydantic_aioredis.store import Store
from pydantic_aioredis.ext.FastAPI import FastAPIModel
class Model(FastAPIModel):
_primary_key_field = "name"
name: str
store = Store(
name="sample",
redis_config=RedisConfig()
)
store.register_model(Model)
app = FastAPI()
@app.get("/", response_model=List[Model])
async def get_endpoint():
return await Model.select_or_404()
Module¶
FastAPI Crudrouter¶
FastAPI Crud Router extra adds a CRUD generator for use with FastAPI Crud Router. You can use your pydantic-aioredis models with fastapi-crudrouter to automatically generate crud routes.
Usage¶
from pydantic_aioredis.config import RedisConfig
from pydantic_aioredis.store import Store
from pydantic_aioredis.ext.FastAPI import PydanticAioredisCRUDRouter
from pydantic_aioredis import Model
class Model(FastAPIModel):
_primary_key_field = "name"
name: str
store = Store(
name="sample",
redis_config=RedisConfig()
)
store.register_model(Model)
app = FastAPI()
router = PydanticAioredisCRUDRouter(schema=Model, store=store)
app.include_router(router)