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
Passionate about programming, he has implemented Odoo for different types of businesses since 2010. In Moldeo Interactive he is a founding Partner and Programmer; In addition to writing on the Blog about different topics related to the developments he makes.