Files
plantillas-proyectos/backend/api/v1/modules/public/reference_data/countries/models.py
acazares 6acbd48e9e feat: Implement general catalogs for INPC, Legends, Multi-Currency Types, Packages, Ports, Prevalidators, Signatures, Unit Conversions, and Units of Measure
- Added INPC management page with search functionality.
- Created Legends management page with filters for code and description.
- Implemented Multi-Currency Types management with search capabilities.
- Developed Packages management page with filtering options.
- Introduced Ports management page with authentication and data fetching.
- Added Prevalidators management page with search filters.
- Implemented Signatures management page with search by name and position.
- Created Unit Conversions management page for conversion factors.
- Developed Units of Measure management pages for ACE, American, and OMA with data tables and create/edit dialogs.
2025-12-08 14:17:47 -06:00

30 lines
1.2 KiB
Python

from core.database import Base
from sqlalchemy import Index, PrimaryKeyConstraint, String
from sqlalchemy.orm import Mapped, mapped_column
class Country(Base):
__tablename__ = "countries" # GPaises
__table_args__ = (
PrimaryKeyConstraint("m3_key", name="countries_pkey"),
Index("ak_country_ame", "ame_key", unique=True),
{"schema": "public", "extend_existing": True}, # opcional
)
m3_key: Mapped[str] = mapped_column(
String(3), primary_key=True, nullable=False) # clave M3
mex_key: Mapped[str] = mapped_column(
String(2), nullable=False) # clave país México
ame_key: Mapped[str] = mapped_column(
String(2), nullable=False
) # clave país América / regional
description_es: Mapped[str] = mapped_column(
String(50), nullable=False
) # nombre oficial en español
description_en: Mapped[str] = mapped_column(
String(50), nullable=False
) # nombre en inglés para UI
def __repr__(self):
return f"<Country(m3_key={self.m3_key}, mex_key={self.mex_key}, ame_key={self.ame_key}, description_es={self.description_es}, description_en={self.description_en})>"