从onchange返回时,错误:[_.sprintf]期待数字但找到字符串

时间:2015-08-24 07:19:51

标签: openerp odoo openerp-7

我已定义了一个onchange,并从出生日期(dob)返回计算出的年龄

def onchange_getage_id(self, cr, uid, ids, dob, context=None):

    if dob:
        current_age = datetime.now().year - parser.parse(dob).year
        print current_age
        return {'value':{'age':current_age}}
    else:
        return {'value':{'age':' '}}

我已经声明年龄字段有这样的整数。

'age' : fields.integer('Age'),

输入dob时会返回年龄,但是当我们删除并在字段中没有提供任何内容时,它将返回

Error: [_.sprintf] expecting number but found string

1 个答案:

答案 0 :(得分:2)

我找到了答案!

如果已声明该字段具有整数,则必须返回具有整数的字典值。

我已经返回它有空格(CController),这意味着字符串。这是错误的原因。

其他部分的返回值也发生了以下变化。

return {'value':{'age':' '}}