繁体   English   中英

如何在Odoo中使用字段函数返回字典

[英]How to return a dictionary using field function in Odoo

我的现场功能出现错误。 在我的函数中,我想从我的变量total返回一个浮点值。 而且我已经搜索过了,并且在这里找到了答案但我仍然不明白其解释。 这是我的错误。

ValueError: dictionary update sequence element #0 has length 1; 2 is required

这是我的代码。

@api.multi
@api.depends('total_eec', 'total_tec')
def _consumption_actual_value(self):
    res = {}
    total = 0.0
    for i in self:
        total = i.total_eec + i.total_tec
        res[i.id] = total
    return res

_columns = {'consumption_actual': fields.function(_consumption_actual_value, string='Consumption (kWh) Actual'), # TEC + EEC}

请帮忙。

您已经混合了这两种api,使用旧api声明了字段,并使用新api编写了函数。 您应该尝试遵循。

@api.multi
@api.depends('total_eec', 'total_tec')
def _consumption_actual_value(self):
    for i in self:
        total = i.total_eec + i.total_tec
        i.consumption_actual = total or 0.0


consumption_actual = fields.Float(compute=_consumption_actual_value, string='Consumption (kWh) Actual')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM