Odoo one2many字段值被写入两次

Odoo one2many字段值被写入两次,odoo,odoo-10,odoo-9,Odoo,Odoo 10,Odoo 9,我得到的是简单的一对多字段和一个Html字段,它是在更改一个字段时计算出来的 requirements=fields.One2many('cust.req','temp_id')) comment=fields.Html(compute='do\u smth') @api.dependens(‘要求’) def do_smth(自身) .... 发生的情况是:当我填写一个2任意字段并单击“保存”时,一切正常。但在我的表单中,我还有一个按钮“视图”,它将一些字段值传递给其他表单并打开它 temp

我得到的是简单的一对多字段和一个Html字段,它是在更改一个字段时计算出来的

requirements=fields.One2many('cust.req','temp_id'))
comment=fields.Html(compute='do\u smth')
@api.dependens(‘要求’)
def do_smth(自身)
....
发生的情况是:当我填写一个2任意字段并单击“保存”时,一切正常。但在我的表单中,我还有一个按钮“视图”,它将一些字段值传递给其他表单并打开它

template_comment=self.env['customer.comment.v'].search([('tmpl_id','=',self.id)])
返回{
“名称”:(“客户请求注释”),
'type':'ir.actions.act_window',
'res_model':'customer.comment.v',
“视图类型”:“表单”,
“查看模式”:“表单”,
“视图id”:
self.env.ref('tmpl\u data.magnus\u order\u tmpl\u comment\u form').id,
'目标':'新',
“res_id”:新的\u comment.id,
}
假设我之前已经有一个2many字段填充了三行。然后我回到我的表单添加第四行,单击按钮查看打开其他表单,然后关闭该表单并保存父表单,将复制其他第四条记录。我认为这是因为当我单击随机按钮“查看”时,write方法被调用为一,而当我单击save按钮时,write方法被再次调用,并具有相同的值。因此,最终会复制其他行

我的问题是如何避免类似的事情发生?
谢谢你抽出时间

在相同的方法中,您应该转到另一个视图中的类并使用它们

这是密码
x_delete
将删除以前的注册,如果它们相同。

我确信有某种方法包含错误,因此执行停止,当您再次单击按钮时,它将再次保存,因此,您将获得重复的行。请检查堆栈垃圾,执行此事务时是否有任何错误?否。没有错误。他简单地调用了write方法两次,正如我所说的,一次调用View按钮,然后在save按钮上调用write方法。这两个write方法都包含我添加到line.Actually的值。在中甚至可以复制成吨的时间。只要我单击按钮,添加的行元素就会重复。。因此,如果我单击查看按钮三次,它将重复三次…您是否在查看按钮中引发了任何异常或仅返回操作?因为当我在任何按钮中引发异常然后保存时,我都有相同的副本。不,我只是检查其他表中是否存在带有特定数据的记录,而不是返回带有该记录的表单,如果它不存在,我创建新记录,然后返回表单,就是这样。。。
`x_line = self.env['customer.comment.v']`
`x_delete = x_line.search([('tmpl_id','=',self.id)]).unlink()`