Cambiando los nombres de los objetos en Odoo

25 de julio de 2023 por
Gustavo Orrillo
| Sin comentarios aún
 

Algunos objetos en Odoo tienen definido un campo name, el cual puede ser buscado, modificado y persistido debido a que por lo general tiene esta definición:

name = fields.Char('Nombre')

Ahora tambien existe el campo display_name. Cual es la diferencia entre ambos? El campo display_name es por lo general el campo name si el mismo esta definido. Si no esta definido toma un valor automático muy divertido, como pueden ver debajo



Como hacemos para modificar dicho campo (se los vuelvo a recordar, display_name)? Mostrar un nombre como "[DEFAULT_CODE] PROD_NAME" como sucede con los productos? El campo display_name es definido por una función denominada name_get, la cual tiene el decorador @api.multi (o sea que va a loopear en un recordset) y devuelve una lista donde cada elemento es una tupla con la forma (id, nuevo_nombre). Por ejemplo

@api.multi
def name_get(self):
result = []
for rec in self:
result.append((rec.id, rec.ref or 'N/A' + ' - ' + rec.name))
return result

Lo único que deben hacer es extender dicho método. Espero que les sea de utilidad,

Gustavo Orrillo 25 de julio de 2023
Compartir
Categorías
Archivar
Identificarse dejar un comentario