compute 计算出错
-
要求:订单里面有多个订单行,订单行的状态的修改需要跟该订单一致。
(其中depends
的第二个字段是后来添加的)问题:现在有数据后,最近发现有些计算是错误的,有些明明所有订单行都是done了,但是该订单的状态没有变成done。
测试:没有把问题重现出来,也没看出来计算的方法有什么问题。
有没有补救办法,可以使已有的数据能重新计算,达到纠正错误数据的目的。
@api.multi @api.depends('action_ids', 'action_ids.state') def _compute_action_count(self): for item in self: sourcing = item.action_ids.filtered(lambda r: r.type == "sourcing").mapped('state') if not sourcing: item.state_sourcing = 'noaction' elif 'progress' in sourcing: item.state_sourcing = 'progress' elif 'confirmed' in sourcing: item.state_sourcing = 'confirmed' else: item.state_sourcing = 'done'