""" Modelo de Grupo de VehĂ­culos para organizar la flota. """ from sqlalchemy import String, Text from sqlalchemy.orm import Mapped, mapped_column, relationship from app.core.database import Base from app.models.base import TimestampMixin class GrupoVehiculos(Base, TimestampMixin): """Modelo para agrupar vehĂ­culos (ej: Reparto Norte, Ejecutivos, etc.).""" __tablename__ = "grupos_vehiculos" id: Mapped[int] = mapped_column(primary_key=True, autoincrement=True) nombre: Mapped[str] = mapped_column(String(100), nullable=False, unique=True) descripcion: Mapped[str | None] = mapped_column(Text, nullable=True) color: Mapped[str] = mapped_column(String(7), default="#3B82F6", nullable=False) # Hex color icono: Mapped[str | None] = mapped_column(String(50), nullable=True) # Nombre del icono # Relaciones vehiculos: Mapped[list["Vehiculo"]] = relationship( "Vehiculo", back_populates="grupo", lazy="selectin", ) def __repr__(self) -> str: return f""