Este addon técnico permite a los desarrolladores especificar un dominio de campo en una vista utilizando el valor de otro campo de esa misma vista, en lugar de hacerlo como un atributo XML estático.
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 16.0Permite que una vista use el valor de otro campo en la misma pantalla como filtro (dominio) para un campo, en lugar de un filtro fijo escrito en la vista. Es un bloque de construcción técnico para desarrolladores.
Este es un módulo técnico que no tiene menús, pantallas ni modelos de base de datos propios. Cambia la forma en que se pueden construir las vistas de Odoo: normalmente la lista de valores permitidos que se muestra para un campo (su "dominio", es decir, el filtro aplicado a los registros ofrecidos) se fija cuando se escribe la vista. Con este módulo, ese filtro puede provenir en su lugar del valor actual de otro campo en la misma vista.
Qué significa esto en la práctica:
- Un desarrollador puede dirigir el filtro de un campo hacia otro campo, de modo que las opciones ofrecidas se actualicen según lo que el usuario ya haya introducido o seleccionado en el formulario.
- El módulo solo añade código de front-end cargado en la interfaz de backend de Odoo; no declara nuevos modelos, ni menús, ni informes, ni acciones programadas.
- Solo depende del módulo estándar
web, por lo que no modifica por sí mismo ninguna área de negocio como ventas, inventario o contabilidad.
Como el módulo no contiene modelos del lado del servidor ni archivos de datos, no se añaden reglas de negocio, comprobaciones, valores predeterminados ni correos electrónicos. Su efecto solo es visible cuando un desarrollador lo utiliza en una vista personalizada; los usuarios finales simplemente ven opciones de campo que se adaptan al resto del formulario. El manifiesto también registra archivos de prueba para la suite de pruebas de interfaz, lo que confirma que la funcionalidad está verificada en el cliente de backend.
Depende de
Texto generado por IA (DeepSeek) al leer el código de la versión 16.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: 5 confirmadas, 4 sin información de 9 versiones.
Fuentes · Odoo 15.0
Confirmado el 2026-11-03 en la rama 15.0 de OCA/web.
terminal Instalación y uso
Documentación de OCA · Odoo 16.0Cuando defines una vista puedes especificar en los campos relacionales un atributo domain. Este atributo se evalúa como filtro a aplicar al mostrar los registros existentes para su selección.
<field name="product_id" domain="[('type','=','product')]"/>El valor proporcionado para el atributo domain debe ser una cadena que represente un domain de Odoo válido. Esta cadena se evalúa en el lado del cliente en un contexto restringido donde podemos referenciar como operando derecho los valores de los campos presentes en el formulario y un conjunto limitado de funciones.
En este contexto es difícil construir un domain complejo y nos enfrentamos a algunas limitaciones como:
- La sintaxis para incluir en tu domain un criterio que involucre valores de un campo x2many es compleja.
- El lado derecho del domain en el caso de x2many puede involucrar una enorme cantidad de ids (problema de rendimiento).
- Los domains calculados por un onchange en otro campo no se recalculan cuando modificas el formulario y no modificas el campo que desencadena el onchange.
- No es posible extender un domain existente. Debes redefinir completamente el domain en tu addon especializado
- etc...
Con el fin de mitigar estas limitaciones este nuevo addon te permite usar el valor de un campo como domain de otro campo en la definición xml de tu vista.
<field name="product_id_domain" invisible="1"/>
<field name="product_id" domain="product_id_domain"/>El campo usado como domain debe proporcionar el domain como una cadena codificada en JSON.
product_id_domain = fields.Char(
compute="_compute_product_id_domain",
readonly=True,
store=False,
)
@api.depends('name')
def _compute_product_id_domain(self):
for rec in self:
rec.product_id_domain = json.dumps(
[('type', '=', 'product'), ('name', 'like', rec.name)]
)En realidad no necesitas este módulo para elaborar un domain dinámico. Odoo viene con su propia librería web py.js para analizar expresiones como los domains. py.js admite expresiones más complejas que simples listas estáticas.
Aquí tienes un ejemplo de un domain condicional basado en el valor de otro campo:
Para los módulos de OCA, este método es preferible a añadir este módulo como dependencia adicional.
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.