Filtros avanzados en Odoo

En Odoo, los filtros son estrategias de búsqueda que nos ayudan a encontrar, de manera eficiente, los datos deseados. En esta guía vamos a aprender como crear filtros, qué campos podemos utilizar en un filtro y los tipos de operadores disponibles.

Para empezar, debemos activar el modo desarrollador desde el desplegable de usuario, situado en la parte superior derecha.


Paso 1: Abrir menú de usuario

Paso 2: Activar modo desarrollador

El modo desarrollador es una herramienta que nos permite acceder a la parte técnica de Odoo: estructura de vistas, acciones, filtros, campos, etc.

Una vez activado el modo desarrollador, nos situamos en la vista que queremos filtrar, abrimos el desplegable de desarrollador y pulsamos en la opción “Gestionar Filtros”.

Menú que aparece al activar el modo desarrollador

En la creación del filtro se definen los siguientes parámetros:

  • Nombre del filtro→el nombre que se asignara al filtro
  • Modelo→el modelo que queremos filtrar
  • Usuario→el usuario que puede utilizar el filtro (si se deja en blanco el filtro es visible para todos los usuarios)
  • Filtro por defecto→marcamos esta opción si queremos activar el filtro de forma automática, al cargar la vista
  • Dominio→una lista de tuplas, [(campo, operador, valor), ...], que forman la condición del filtro

Ficha de creación del filtro

En el dominio del filtro podemos utilizar todos los campos definidos en el modelo que queremos filtrar. Para ver la lista de campos disponibles, pulsamos en “Ver Campos”, desde el desplegable de desarrollador. En esta pestaña podemos consultar toda la información sobre los campos definidos en el modelo: nombre, tipo, etiqueta, etc.

Ya que sabemos como crear un filtro y los campos que podemos utilizar en el dominio del mismo, nos falta saber cuáles son los operadores de evaluación disponibles en Odoo.

Operador Descripción
> Más grande que
< Más pequeño que
>= Más grande o igual que
<= Más pequeño o igual que
= Igual que
!= Diferente de
like Comparador de cadenas que distingue entre mayúsculas y minúsculas
ilike Comparador de cadenas que no distingue entre mayúsculas y minúsculas
in Contenido en (comparar un valor con una lista de valores)
not in No contenido en (comparar un valor con una lista de valores)
not Negación (operador booleano que invierte el valor)
child_of Comparador utilizado en estructuras de tipo árbol

Para finalizar, adjuntamos unos ejemplos de dominios en diferentes áreas del Odoo:

  • [('qty_available', '<', 10)] – utilizado en la lista de productos para mostrar solo los productos con cantidad en stock menor que 10
  • [('state', 'ilike' , 'confirmed')] – utilizado en la lista de ventas para mostrar solo las ventas confirmadas
  • [('categ_id', 'child_of', 5)] – utilizado en la lista de categorías de producto para mostrar solo las categorías que tienen como padre la categoría 5
en Blog
Odoo para restaurantes