Día 6: Relaciones entre Modelos (Many2one)

Día 6: Relaciones entre Modelos (Many2one)

¡Bienvenido de nuevo al curso de desarrollo en Odoo! Después de haber sentado las bases de nuestros modelos, vistas y seguridad, hoy vamos a explorar uno de los conceptos más potentes y fundamentales en Odoo: las **relaciones entre modelos**.

En el día 6, aprenderemos a conectar diferentes modelos de datos para crear una estructura lógica y eficiente. Específicamente, nos centraremos en la relación `Many2one`, una de las más comunes y útiles.

¿Qué hemos añadido en el Día 6?

El objetivo de hoy es simple pero muy importante: queremos que cada libro (`library.book`) esté asociado a un autor. Para ello, hemos realizado los siguientes cambios:

1. **Nuevo Modelo `library.author`**: Hemos creado un nuevo fichero `models/author.py` para definir el modelo de autores. Por ahora, este modelo es sencillo y solo contiene el nombre del autor.

2. **Relación `Many2one` en el Modelo de Libros**: Hemos modificado el archivo `models/book.py` para añadir un nuevo campo:

«`python

author_id = fields.Many2one(‘library.author’, string=’Author’)

«`

Este campo `Many2one` crea una relación donde **muchos** libros pueden pertenecer a **un** autor. En la base de datos, esto se traduce en una nueva columna en la tabla de libros que almacena el ID del autor correspondiente.

3. **Actualización de Vistas**: Para que el usuario pueda seleccionar el autor en la interfaz, hemos añadido el campo `author_id` a las vistas de formulario y de lista en `views/book_views.xml`.

Explicación Detallada en Vídeo

En el siguiente vídeo, te muestro en detalle cómo crear el nuevo modelo de autor, cómo establecer la relación `Many2one` y cómo Odoo maneja automáticamente la creación de menús desplegables en la interfaz para seleccionar el autor de un libro.

Código Fuente en GitHub

Puedes consultar el código fuente completo de esta lección directamente en nuestro repositorio.

Ver código en Github

Conecta Conmigo y Sigue Aprendiendo

Las relaciones son el corazón de cualquier aplicación de gestión. Entender cómo funcionan te abrirá un mundo de posibilidades en tus desarrollos con Odoo.

Si tienes alguna pregunta o sugerencia, no dudes en dejar un comentario. Y si quieres estar al día con más tutoriales y consejos sobre Odoo, ¡conectemos!

* **LinkedIn:** [Conecta conmigo en LinkedIn](https://www.linkedin.com/in/angelmoya-es/)

* **YouTube:** ¡No olvides suscribirte al canal para no perderte ninguna lección! https://www.youtube.com/channel/UCg-71aQMkhYAZgtB6azKKkQ

`#Odoo` `#DesarrolloOdoo` `#CursoOdoo` `#Odoo19` `#ProgramacionOdoo` `#RelacionesOdoo` `#Many2one` `#ORM` `#FormacionOdoo` `#ExpertoOdoo`