Вот мое представление:
Код: Выделить всё
from fastapi_pagination import Page, Params, paginate
from pydantic import BaseModel
from sqlalchemy.orm import Session
class EventSerializer(BaseModel):
id: str
# ...
class EventAttendeeSerializer(BaseModel):
id: str
event: str # contains the event UUID
# ...
class Config:
orm_mode = True
@api.get("/", response_model=Page[EventAttendeeSerializer])
async def get_list(db: Session, pagination: Params = Depends(), extend: str = None):
objects = db.query(myDbModel).all()
if "event" in extend.split(","):
# return EventSerializer for each object instead of id
return paginate(objects, pagination)
Код: Выделить всё
GET /v1/event-attendees/
{
"items": [
{
"id": ,
"event": ,
}
],
"total": 1,
"page": 1,
"size": 50,
}
Код: Выделить всё
GET /v1/event-attendees/?extend=event
{
"items": [
{
"id": ,
"event": {
"id": ,
# ...
}
}
],
"total": 1,
"page": 1,
"size": 50,
}
Кто-нибудь может помочь, пожалуйста?
Подробнее здесь: https://stackoverflow.com/questions/750 ... in-fastapi
Мобильная версия