Odoo8:ValueERROR:字典更新序列元素#0的长度为1; 2是必需的

时间:2016-12-14 02:35:10

标签: python-2.7 python-3.x odoo-8

我使用新的api样式odoo8在帐户代金券(def voucher_move_line_create)中继承功能。

这是我的代码:

@api.model
def voucher_move_line_create(self, line_total, move_id, company_currency, current_currency):
    res =  super(AccountVoucher, self).voucher_move_line_create(line_total, move_id, company_currency, current_currency)
    _logger.info('\n\n\n Return: %s \n\n\n'%(str(res)))
    for i in res[1]:
        _logger.info('\n\n\nRes Return: %s \n\n\n'%(str(i)))
    return res

我发现了这个错误:

文件“/opt/odoo8/odoo8-server/openerp/api.py”,第769行,     self.cr,self.uid,self.context = self.args =(cr,uid,frozendict(context)) ValueError:字典更新序列元素#0的长度为1; 2是必需的。

谢谢!

1 个答案:

答案 0 :(得分:0)



在你继承这个功能的时候,你似乎忘记了一个论点 您错过了 voucher_id 参数,因此继承的函数应该是:

//(((i + 1) + (j - 1)) * (j - i - 1)) / 2; 
BigInteger bSoma1 = bigI.add(BigInteger.ONE)
        .add(bigJ.subtract(BigInteger.ONE))
        .multiply(bigJ.subtract(bigI).subtract(BigInteger.ONE))
        .divide(BigInteger.valueOf(2));

//(((j + 1) + tam) * (tam - j) + (1 + (i - 1)) * (i - 1)) / 2;
BigInteger bSoma2 = bigJ.add(BigInteger.ONE).add(bigTam)
        .multiply(bigTam.subtract(bigJ))
        .add(BigInteger.ONE.add(bigI.subtract(BigInteger.ONE)))
        .multiply(bigI.subtract(BigInteger.ONE))
        .divide(BigInteger.valueOf(2));

我希望这会有所帮助,谢谢你提出的问题。