Как получить значение поля выбора в RML

У меня есть поле выбора, и я хочу напечатать выбранное значение, но у меня есть ключ.

Код Python:

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

РМЛ:

[[ o.transport or '']]

Когда я выбираю Plain, печатается значение plain.

Как получить в распечатанном отчете Plain вместо plain?


person Kenly    schedule 13.03.2016    source источник


Ответы (1)


Мы можем достичь двумя способами.

  1. Прямое условие на .rml и
  2. Использование функции

Прямое условие для .rml

Например:

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

Использование функции

Нам нужно добавить функцию в файл отчета .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
person Bhavesh Odedra    schedule 13.03.2016
comment
Спасибо за Ваш ответ. Я использовал код RML, но ничего не было напечатано. - person Kenly; 13.03.2016