floorball_stas/app/models/team.py

35 lines
763 B
Python

from typing import Optional, List, TYPE_CHECKING
from sqlmodel import SQLModel, Field, Relationship
from app.db.base_class import Base
from app.models.teamplayers import TeamPlayerLink
if TYPE_CHECKING:
from app.models.player import Player
class TeamBase(SQLModel):
teamname: Optional[str] = Field(nullable=False)
class Team(TeamBase, Base, table=True):
players: List["Player"] = Relationship(back_populates="teams",
link_model=TeamPlayerLink
)
class TeamCreate(TeamBase):
teamname: str
class TeamWithPlayers(TeamBase):
teamname: str
players: List["Player"]
class TeamUpdate(TeamBase):
teamname: str