""" SQL related models. """ from pydantic import BaseModel as _BaseModel class BaseColumns(_BaseModel): """Columns model for the SQL queries and their output. For subclassing. This model is useful for defining SQL query columns and their aliases. It uses Pydantic's BaseModel for validation and serialization. Because of the `alias` classmethod, all fields must have their alias argument set. E.g. Field(..., alias=ColumnAliases.LABEL_ID) """ @classmethod def alias(cls, field_name: str) -> str: """Return the alias of a field.""" return cls.model_fields[field_name].alias