Cambiando los nombres de los objetos en Odoo
Cada objeto en Odoo por lo general tiene un campo denominado name, el cual puede ser modificado y persistido debido a que por lo general tiene esta definición:
name = fields.Char('Nombre')
Este campo tambien puede ser buscado. Ahora, como hacemos para modificar el nombre mostrado? Mostrar un nombre como "[DEFAULT_CODE] PROD_NAME" como sucede con los productos? Para eso se debe modificar los contenidos del campo display_name. Este campo es un campo computado en Odoo, el cual 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
Espero que les sea de utilidad,
Acerca de:
Gustavo Orrillo
Apasionado de la programación, implementa Odoo para distintos tipos de negocios desde el año 2010. En Moldeo Interactive es Socio fundador y Programador; además de escribir en el Blog sobre distintos temas relacionados a los desarrollos que realiza.