OdooWiki OCA HUB

Base Domain Inverse Function

base_domain_inverse_function folder_open OCA/server-tools open_in_new
Others Licencia: AGPL-3

Este módulo proporciona funciones para descomponer dominios normalizados en operandos de dominios, ya que estas funciones son la inversa de las funciones AND y OR disponibles en odoo.osv.expression.

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.0

Añade funciones auxiliares que dividen un dominio de búsqueda de Odoo normalizado en sus partes individuales, para que los desarrolladores puedan modificar una parte y reconstruir el dominio.

Este es un módulo auxiliar técnico sin pantallas, menús ni funcionalidades visibles para el usuario. No añade ningún modelo de negocio ni tabla de base de datos nuevos; solo proporciona funciones de Python que otros módulos o personalizaciones pueden llamar.

Las funciones toman un dominio de búsqueda normalizado (el filtro técnico usado para buscar registros en Odoo) y lo descomponen de nuevo en una lista de dominios más pequeños, según si el operador principal es AND u OR. Esto es lo inverso de las funciones estándar de Odoo que combinan dominios con AND u OR.

  • inverse_OR(domain) divide un dominio cuyo operador principal es OR.
  • inverse_AND(domain) divide un dominio cuyo operador principal es AND.
  • inverse_combine(domain, operator) hace el trabajo para un operador elegido.

Reglas de negocio y límites mostrados en el código: - Solo se aceptan los operadores AND ('&') y OR ('|'); cualquier otro operador genera un error. - Los dominios que contienen el operador NOT ('!') no son compatibles y generan un error. - El dominio de entrada debe estar normalizado, es decir, el operador principal debe aparecer primero.

Como solo depende de base y no define modelos, no cambia nada visible en la interfaz de Odoo. Su valor es para los desarrolladores que necesitan inyectar condiciones adicionales en un dominio existente antes de reconstruirlo.

Depende de

base

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-03
Confirmado (verificado en repositorio y rama) Estimado (sin verificar) Sin información

Estado de confirmación: 2 confirmadas, 7 sin información de 9 versiones.

Fuentes · Odoo 13.0

Confirmado el 2026-11-03 en la rama 13.0 de OCA/server-tools.

terminal Instalación y uso

Documentación de OCA · Odoo 16.0

Si tienes que descomponer un dominio complejo para inyectar algunas condiciones, esto muestra lo que puedes hacer:

from odoo.osv.expression import AND, OR
from odoo.addons.base_domain_inverse_function.expression import inverse_AND, inverse_OR

domain = AND([d1, d2, d3])
d1, d2, d3 = inverse_AND(domain)

domain = OR([d1, d2, d3])
d1, d2, d3 = inverse_OR(domain)

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.

info

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.