from pydantic import BaseModel, Field from typing import Optional class FootballBase(BaseModel): team_name: str = Field(..., description="Name of the football team", min_length=1) league: str = Field(..., description="League the team plays in", min_length=1) player_count: int = Field(default=11, description="Number of players in the team") is_active: bool = Field(default=True, description="Whether the team is active") team_ranking: Optional[int] = Field(None, description="Current ranking of the team") stadium_name: Optional[str] = Field(None, description="Name of the team's stadium") class FootballCreate(FootballBase): class Config: schema_extra = { "example": { "team_name": "Manchester United", "league": "Premier League", "player_count": 11, "is_active": True, "team_ranking": 3, "stadium_name": "Old Trafford" } } class Football(FootballBase): id: int = Field(..., description="Unique identifier for the team") class Config: orm_mode = True schema_extra = { "example": { "id": 1, "team_name": "Manchester United", "league": "Premier League", "player_count": 11, "is_active": True, "team_ranking": 3, "stadium_name": "Old Trafford" } }