如何在RML中获取选择字段值

时间:2016-03-13 08:08:44

标签: report openerp rml

我有一个选择字段,我想打印所选的值,但我得到了密钥。

Python代码

'transport': fields.selection([('plain','Plain'),
                               ('train','Train'),
                               ('taxi','Taxi'),
                               ('bus','Bus'), 
                               ('sv','Service vehicle')],'Means of transport'),

RML:

[[ o.transport or '']]

当我选择Plain时,打印的值为plain

如何在打印的报告中取代Plain而不是plain

1 个答案:

答案 0 :(得分:0)

我们可以通过两种方式实现。

  1. .rml和
  2. 的直接条件
  3. 使用功能
  4. .rml上的直接条件

    例如:

    [[ o.transport == 'avion' and 'Avion' or o.transport == 'train' and 'Train' ]] 
    

    使用功能

    我们需要在report .py文件中添加功能

    def _get_value_from_selection_field(self, model, field, value):
    
        selection = self.pool.get(model)._columns.get(field).selection
    
        res = ''
    
        for v in selection:
    
            if v[0] == value:
    
                res = v[1]
    
            break
    
        return res