Tipos de propiedad
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
- Modelos — donde viven las propiedades.
- Restricciones — reglas que se superponen al tipo.
- Cadena localizada — el caso especial del texto por idioma.