from typing import TYPE_CHECKING, List, Optional from sqlmodel import Field, Relationship, SQLModel if TYPE_CHECKING: from app.models.wine_offering import WineOffering class WineCategoryBase(SQLModel): name: str = Field(unique=True, index=True) sort_order: int = Field(default=0) class WineCategory(WineCategoryBase, table=True): __tablename__ = "wine_category" id: Optional[int] = Field(default=None, primary_key=True) wine_offerings: List["WineOffering"] = Relationship(back_populates="category")