Преобразовать число в букву

я установил модуль num2words, это мой код:

from num2words import num2words

класс HrHolidays (models.Model): _inherit = 'hr.holidays'

interim = fields.Many2one(
    'hr.employee',
    string="Interim")
partner_id = fields.Many2one('res.partner', string="Customer")
remaining_leaves = fields.Integer(compute='_get_remaining_days', string='Leaves')  
number_text=fields.Char(string='Nombre de jour')


@api.multi
def _get_remaining_days(self, name, args):
    res = super(HrHolidays, self)._get_remaining_days(name, args)
    return res

def calculatenumber(self, number_of_days_temp,lang='fr'):
    number_text = num2words(number_of_days_temp,lang)
    return {'value': {'number_text': number_text}}

.xml

             <xpath expr="//field[@name='interim']" position="after">
                      <field name="number_of_days_temp" nolabel="1"  on_change="calculatenumber(number_of_days_temp)"/>

     </xpath>
        <field name="number_of_days_temp" position="after">
            <field name="number_text"/>
        </field>

я получил эту ошибку, я не знаю, как ее решить введите здесь описание изображения


person Loloi Hind    schedule 08.09.2016    source источник


Ответы (1)


проверить определение функции

def calculatenumber(self,cr, uid, ids,number_of_days_temp, context=None):
    number_text = num2words(number_of_days_temp,lang='fr')
    return {'value': {'number_text': number_text}}

или вы можете использовать новый API

@api.onchange('number_of_days_temp')
def calculatenumber(self):
    self.number_text = num2words(self.number_of_days_temp,lang='fr')

то вы должны удалить on_change="calculatenumber(number_of_days_temp)" из представления XML

person m3asmi    schedule 22.09.2016