Día 15: Creación de Datos con XML () — Data Inicial y Demo Data

¡Llegamos al Día 15! Nuestro módulo está listo para funcionar, pero la mayoría de las aplicaciones necesitan unos datos iniciales para ser útiles desde el primer momento.

Hoy exploramos la forma estándar y declarativa de crear registros en Odoo (V19): usando ficheros XML. Este mecanismo es crucial para crear configuraciones, usuarios de prueba o incluso reglas de flujo de trabajo.

¿Qué hemos cubierto en el Día 15?

Hemos creado dos tipos de ficheros XML, uno para datos de configuración (data) y otro para datos de demostración (demo), y hemos aprendido a usar la etiqueta central de Odoo para la creación de registros: <record>.

Los componentes clave que hemos cubierto son:

1. La Etiqueta <record>

Es el elemento XML fundamental para crear cualquier objeto de la base de datos (un modelo).

  • model: El nombre técnico del modelo al que pertenece el registro (ej. res.partner).
  • id: Un identificador único (clave externa) que permite que este registro sea referenciado por otros ficheros XML o código Python.

2. Diferencia entre Data Inicial y Demo Data

  • Fichero en data: Contiene la Data Inicial (o «Fixtures»). Estos datos son esenciales para el funcionamiento del módulo (ej. secuencias de documentos, menús, categorías base). Se cargan siempre.
  • Fichero en demo: Contiene la Demo Data. Estos datos son opcionales y solo se cargan si el usuario marca la opción «Cargar datos de demostración» al crear la base de datos. Se usan para probar el módulo con ejemplos.

3. Asignación de Valores

Dentro del <record>, usamos la etiqueta <field> para asignar valores a los campos del modelo. Hemos visto cómo asignar valores de texto, booleanos y cómo referenciar otros registros ya creados mediante su id externo (por ejemplo, asignar el registro a un usuario específico).

La Importancia para el Despliegue

La creación de datos con XML permite automatizar la configuración de un módulo. En lugar de pedir al usuario que cree manualmente una serie de categorías o plantillas, podemos asegurarnos de que el módulo sea funcional inmediatamente después de la instalación.


Explicación Detallada en Vídeo

En el siguiente vídeo, te muestro paso a paso cómo definir la estructura de un <record>, cómo referenciar otros modelos ya creados y cómo Odoo gestiona los identificadores (id) para evitar conflictos.


Código Fuente en GitLab

Puedes consultar el código fuente completo de esta lección, con ejemplos de Data Inicial y Demo Data en XML, directamente en nuestro repositorio.

➡️ Ver el Código en GitLab: https://github.com/angelmoya/calendario-adviento-curso-tecnico-odoo-19/tree/7d5f8a2c230a017e1692fd2d0a7c31b92b112582


Conecta Conmigo y Sigue Aprendiendo

¡Ya puedes desplegar módulos con datos listos! Mañana, la forma más sencilla de compartir datos entre modelos.