Este módulo añade un nuevo campo personalizado Many2many con un atributo create_table.
Traducción automática al español (DeepSeek) de la descripción original de OCA, que está en inglés.
auto_awesome Qué hace este módulo
Generado por IA a partir del código · Odoo 18.0Añade un nuevo tipo de campo técnico que permite a los desarrolladores controlar si la tabla de enlace de la base de datos para una relación de muchos a muchos se crea automáticamente. No cambia nada visible para los usuarios cotidianos.
Este es un módulo técnico sin pantallas, menús ni informes. Introduce un nuevo tipo de campo, Many2manyCustom, que se comporta como un campo many-to-many normal pero añade una opción: create_table.
- Cuando
create_tablese deja en su valor predeterminado (true), el campo funciona exactamente como un campo many-to-many estándar y su tabla relacional de base de datos se crea cuando se configura el campo. - Cuando
create_tablese establece en false, el módulo omite la creación automática de esa tabla relacional.
Esto ofrece a los desarrolladores una forma de declarar una relación many-to-many cuya tabla de enlace se gestiona en otro lugar, por ejemplo creada por otro módulo o por un script manual de base de datos, sin que Odoo intente crearla de nuevo.
El módulo depende únicamente de base y no añade ningún modelo, vista, menú, botón, informe, acción programada ni regla de negocio. No cambia ninguna pantalla ni flujo de trabajo existente de Odoo. Su efecto se limita a cómo se construye la estructura de la base de datos cuando se utiliza un campo de este nuevo tipo en un desarrollo personalizado.
Depende de
Texto generado por IA (DeepSeek) al leer el código de la versión 18.0 en GitHub; puede contener errores, así que verifícalo en el código antes de decidir. Ver el código en GitHub
Disponibilidad por versión
Revisado: 2026-11-03Estado de confirmación: 6 confirmadas, 3 sin información de 9 versiones.
Fuentes · Odoo 16.0
Confirmado el 2026-11-03 en la rama 16.0 de OCA/server-tools.
terminal Instalación y uso
Documentación de OCA · Odoo 18.0El campo Many2manyCustom es útil cuando se necesita un acceso directo a la tabla relacional, por ejemplo para poder editarla en una vista de árbol dedicada.
Consideremos los siguientes modelos:
class MyModelA(models.Model):
_name = 'my.model.a'
my_model_b_ids = fields.Many2manyCustom(
'my.model.b',
'my_model_a_b_rel',
'my_model_a_id',
'my_model_b_id',
create_table=False,
)
class MyModelB(models.Model):
_name = 'my.model.b'
my_model_a_ids = fields.Many2manyCustom(
'my.model.a',
'my_model_a_b_rel',
'my_model_b_id',
'my_model_a_id',
create_table=False,
)
class MyModelABRel(models.Model):
_name = 'my.model.a.b.rel'
my_model_a_id = fields.Many2one(
'my.model.a',
required=True,
index=True, # Index is mandatory here
)
my_model_b_id = fields.Many2one(
'my.model.b',
required=True,
index=True, # Index is mandatory here
)Al establecer create_table=False en el campo Many2manyCustom, y usar el nombre de la tabla relacional como _name para el modelo relacional, podemos definir una vista de árbol dedicada para my.model.a.b.rel.
<record id="my_model_a_b_rel_list_view" model="ir.ui.view">
<field name="name">my.model.a.b.rel.list.view</field>
<field name="model">my.model.a.b.rel</field>
<field name="arch" type="xml">
<list editable="top">
<field name="my_model_a_id" />
<field name="my_model_b_id" />
</list>
</field>
</record>Traducción automática al español (DeepSeek) de la documentación original de OCA; los comandos y el código no se traducen. Sin información verificada en OCA: Instalación, Configuración.
Las instrucciones de instalación, el paquete de distribución, las dependencias y los pasos de configuración no se muestran porque todavía no se han verificado en la documentación del módulo para ninguna versión.
Datos importados de GitHub: esta ficha refleja la última revisión del catálogo, no una consulta en directo. Verifica siempre en la documentación del módulo y en staging antes de instalar en producción.