onchange 出一对多数据不能保存
-
前提:我有字段A,B,C。A 和B字段都是m2o的,C字段是o2m的。
做法:现在写了一个onchange的方法,根据A,B查询出C字段的ids,然后想保存。
@api.onchange('owner_dfs', 'robot_type_id') def _onchange_owner_robot_type_id(self): self.ensure_one() if self.owner_dfs and self.robot_type_id: hierarchy_ids = self.env['part.hierarchy.line'].search([('owner_dfs', '=', self.owner_dfs.id), ('robot_type_id', '=', self.robot_type_id.id)]) print('========', hierarchy_ids) print('ids===', hierarchy_ids.ids) self.hierarchy_ids = False if hierarchy_ids: # lines = [{'hierarchy_ids': [(6, 0, hierarchy_ids)]}] self.update({'hierarchy_ids': hierarchy_ids}) self.hierarchy_ids = [(6, 0, hierarchy_ids.ids)] # self.write({'hierarchy_ids': [(6, 0, hierarchy_ids.ids)]})
问题:现在的问题是可以查询出结果,save的时候C字段保存不了,而且list视图的Action下的Export也没了,什么原因呢?