Búsquedas en campos one2many

Gustavo Orrillo
- 05/11/2018

Odoo permite hacer búsquedas en campos one2many. Supongamos que estamos en la vista de pedidos de venta, y queremos buscar aquellas facturas que hayan vendido un producto determinado; en Odoo pueden encontrarse. 

El tema es que Odoo permite hacer búsquedas one2many por medio del campo name. Mientras el objeto al que se hace referencia en el campo one2many tenga un campo llamado name, Odoo lo va  a encontrar. Si no se cuenta con dicho campo, el sistema no lo va a encontrar.

Por ende, es fundamental la actualización del campo name en el comodel_name del campo one2many. Mientras este actualizado apropiadamente, las búsquedas van a funcionar. Se podrá agregar dicho campo a las vistas de búsqueda tambien. 

A modo de ejemplo, días atras tuvimos que agregar el soporte de búsquedas de nros de serie a tickets de soporte. Teníamos una cabecera de tickets de soporte y un campo one2many que apuntaba a los nros de serie involucrados. En un primer momento no se podían realizar las búsquedas de forma apropiada debido a que el modelo en el que buscábamos no contaba con el campo name.

Paso siguiente fue agregar el campo name al modelo referido (el del  comodel_name en el campo one2many) y modificar el módulo que lo mantenía para actualizarlo apropiadamente. Seguidamente, agregamos dicho campo a la vista de búsqueda. Y voilá! funcionaban los búsquedas. Por último tuvimos que actualizar con un script de Python y XMLRPC el modelo del nro de serie, actualizando el campo name para aquellos registros que no fueron creados.