Crear un Campo Calculado de Tipo Seleccion
Si trabajamos con campos calculados en Odoo y nos hemos enfrentado a obtener un valor de un campo Selección o Relación, observamos que en la nueva tabla el resultado es correcto obtenemos el resultado pero no tenemos la etiqueta correcta. Esto se soluciona haciendo uso del atributo "selection".
Ejemplo:
def _get_states(self, cr, uid, ids, fieldnames, args, context=None): res = {} state = 'draft' #### Aqui meteriamos el codigo para obtener el Estado del registro que necesitaramos ##### return res[ids[0]] = state lista_estados = [ ('draft','Borrador') ('done','Realizado') ] 'state': fields.function(_get_states, type='selection',method=True, selection=lista_estados, string="Estado"),
La misma regla aplica para los campos Relacion (Related):
lista_estados = [ ('draft','Borrador') ('confirmed','Confirmado') ('done','Realizado') ('cancel','Cancelado') ] 'state': fields.related('invoice_id','state', type='selection',method=True, selection=lista_estados, string="Estado"),