Cada propiedad de un modelo tiene un tipo. El tipo decide qué clase de valor se guarda, cómo se ve el editor del formulario y qué restricciones se le pueden aplicar. Elige el tipo según lo que el valor es — no según cómo quieres que se muestre.

La lista completa

Texto

Tipo Úsalo cuando
String Texto plano — códigos, slugs, URL, identificadores, etiquetas de un solo idioma. Un valor por instancia.
Localized String Texto que leen los usuarios y que debe cambiar con el idioma de la interfaz — nombres, títulos, descripciones. Un valor por cada idioma admitido. Consulta Cadena localizada.

Números

Tipo Úsalo cuando
Integer Números enteros — recuentos, identificadores, puntuaciones, años. Combínalo con una restricción de entero para poner límites o ligarlo a una enumeración.
Decimal Números de precisión fija — dinero, cantidades, cualquier cosa que no quieras que se redondee.
Float Números en coma flotante — medidas, ratios, valores científicos. Cambias precisión por rango.

Booleanos y fechas

Tipo Úsalo cuando
Boolean Indicadores verdadero/falso — isActive, archived, published.
Date Un día del calendario, sin hora. Cumpleaños, fechas límite.
DateTime Un instante con hora del día. Eventos, marcas de auditoría, plazos.

Referencias

Las referencias apuntan a otros elementos de la plataforma. Elige la clase según qué quieres referenciar:

Tipo Apunta a Uso habitual
Model reference Una definición completa de modelo "Esta propiedad guarda reglas sobre qué modelo aplicar."
Instance reference Una instancia concreta de un modelo La más habitual — Order.customer, Invoice.client.
Model property reference Una propiedad concreta de un modelo Configuración que debe recordar "la propiedad title del modelo Article".
Instance property reference Una propiedad concreta de una instancia Poco usado directamente; aparece en patrones avanzados.

Collection

Una colección es una lista de elementos. No es un tipo de valor propio — envuelve uno de los tipos anteriores. El tipo de elemento se elige en la restricción de colección: una lista de strings, una lista de referencias a instancias, etc. Consulta Restricciones.

Elegir entre tipos parecidos

  • String vs Localized String — empieza por String. Pasa a Localized String solo cuando el campo sea prosa que lee la gente y deba cambiar con el idioma.
  • Integer vs Decimal vs Float — Integer para recuentos, Decimal para dinero y cantidades, Float para medidas que pueden ser aproximadas.
  • Date vs DateTime — si la hora no importa, usa Date. Te ahorras sorpresas con las zonas horarias.
  • Instance reference vs colección de referencias — un objetivo → instance reference; varios → colección de instance references.

Dónde se fija el tipo

El tipo de una propiedad se elige al añadirla al modelo desde el Explorador. El tipo forma parte de la estructura del modelo — cambiarlo más tarde es una operación versionada y puede requerir migrar datos existentes.

Relacionados