Cuando modificamos algún módulo personalziado en Odoo puede pasar que al actualizarlo nos tire un error que hace referencia a un campo que para Odoo no existe.
Esto sucede porque las vistas se guardan en una tabla y la versión anterior de la vista aún existe en esa tabla, entonces, odoo, al tratar de levantar la instancia trata de ubicar ese campo sin embargo ya no existe en nuestro archivo xml del módulo que estamos tratando de actualizar.
La solución puede pasar por revertir los cambios en nuestro módulo de tal forma que este igual a la versión guardada en la tabla de odoo. Sin embargo esta vez solucionaremos el problema mediante SQL.
Procedimiento:
- Conectarse a la base de datos mediante PgAdmin
- Ubicar la vista objetivo filtrando por el campo que nos da error en el log de Odoo.
SELECT id, name, model, type, active, arch_db FROM ir_ui_view WHERE arch_db ILIKE '%date_emission_time%'
La columna arch_db
de la tabla ir_ui_view
guarda todo el XML de la vista.
La cadena de texto date_emission_time
es la que tenemos que quitar de manera que buscamos todas las vistas que tienen ese texto.
- Borrar el campo que nos esta dando problemas de la vista usando PgAdmin.
Opcionalmente se puede probar si la vista elegida es la correcta desactivándola y tratando de levantar el sistema.
UPDATE ir_ui_view SET active = true WHERE id = 1650
Luego borramos el campo con ayuda de PgAdmin
- Guardar cambios en PgAdmin.
- Levantar Odoo.
Comentarios