from datetime import datetime from typing import Any from pydantic import model_validator from app.schemas.registration.out import RegistrationOut class RegistrationListItem(RegistrationOut): championship_title: str | None = None championship_event_date: datetime | None = None championship_location: str | None = None @model_validator(mode="before") @classmethod def extract_championship(cls, data: Any) -> Any: if hasattr(data, "championship") and data.championship: champ = data.championship data.__dict__["championship_title"] = champ.title data.__dict__["championship_event_date"] = champ.event_date data.__dict__["championship_location"] = champ.location return data