odoo 13 中树视图上的计算字段

Computed field on a tree view in odoo 13

在odoo中自定义模块 我添加计算字段 transactions_count 该字段在表单视图中正确显示 但是在树视图中显示不正确(如果它的值为零,则显示前一条记录的值)

这是我的代码:

transactions_count = fields.Float(string='Total Amount', compute='_compute_transactions_ids')


@api.depends('transactions_ids')
def _compute_transactions_ids(self):
    amount = 0.0
    for order in self:
        for line in order.transactions_ids:
            amount = amount+ line.amount_total
        order.transactions_count = amount

我认为你应该为每个 order in self 重新启动 amount = 0.0,所以你应该将 amount = 0.0 放在你的第一个 for.

希望这个回答能对您有所帮助。

可能需要在第一个循环中设置 amount=0,如下所示。

transactions_count = fields.Float(string='Total Amount', compute='_compute_transactions_ids')


@api.depends('transactions_ids')
def _compute_transactions_ids(self):
    for order in self:
        amount = 0.0
        for line in order.transactions_ids:
            amount = amount+ line.amount_total
        order.transactions_count = amount

请检查并告诉我是否适合您。

谢谢。