将附件从 one2many 字段复制到另一个 one2many odoo 10
Copying attachment from one2many field to another one2many odoo 10
我厌倦了根据 id 将附件从 one2many 字段复制到另一个 one2many。写命令有用吗???以下代码无法正常运行。
existing_documents = self.env['document.product.verify'].search([('docs_id', '=', self.partner_id.id)])
for record1 in self.product_line:
for record2 in existing_documents:
if record1.documents_required_id.id == record2.documents_required_id.id:
print '*****************DOCUMENT EXISTS******************'
record1.write({'attachments': record2.attachments})
print '***************records***************', record1.id, record2.id
print record1.attachments, record2.attachments
将此用于 Update/Insert/Delete one2many 字段的数据:
(0, 0, { values }) link 到需要使用给定值字典创建的新记录
(1, ID, { values }) 使用 id = ID 更新 linked 记录(写入 values在上面)
(2, ID) 移除并删除 ID = ID 的 linked 记录(调用 unlink ID,这将删除完全反对,link 也反对)
(3, ID) 将link 剪切到id = ID 的linked 记录(删除两个对象之间的关系但不不删除目标对象本身)
(4, ID) link 到 id = ID 的现有记录(添加关系)
(5) unlink 全部(比如对所有 linked 记录使用 (3,ID))
(6, 0, [IDs]) 替换 linked ID 列表(比如对每个 ID 使用 (5) 然后 (4,ID)在 ID 列表中)
正如 Nitin 所说,以下代码有效。
existing_documents = self.env['document.product.verify'].search([('docs_id', '=', self.partner_id.id)])
for record1 in self.product_line:
for record2 in existing_documents:
if record1.documents_required_id.id == record2.documents_required_id.id:
hoh1 = (0, 0, {'documents_required_id': record1.documents_required_id.id,
'attachments': record2.attachments,
'file_name': record2.file_name})
result_new.append(hoh1)
break
else:
hoh1 = (0, 0, {'documents_required_id': record1.documents_required_id.id})
result_new.append(hoh1)
break
self.update({'product_line': result_new})
我厌倦了根据 id 将附件从 one2many 字段复制到另一个 one2many。写命令有用吗???以下代码无法正常运行。
existing_documents = self.env['document.product.verify'].search([('docs_id', '=', self.partner_id.id)])
for record1 in self.product_line:
for record2 in existing_documents:
if record1.documents_required_id.id == record2.documents_required_id.id:
print '*****************DOCUMENT EXISTS******************'
record1.write({'attachments': record2.attachments})
print '***************records***************', record1.id, record2.id
print record1.attachments, record2.attachments
将此用于 Update/Insert/Delete one2many 字段的数据:
(0, 0, { values }) link 到需要使用给定值字典创建的新记录
(1, ID, { values }) 使用 id = ID 更新 linked 记录(写入 values在上面)
(2, ID) 移除并删除 ID = ID 的 linked 记录(调用 unlink ID,这将删除完全反对,link 也反对)
(3, ID) 将link 剪切到id = ID 的linked 记录(删除两个对象之间的关系但不不删除目标对象本身)
(4, ID) link 到 id = ID 的现有记录(添加关系)
(5) unlink 全部(比如对所有 linked 记录使用 (3,ID))
(6, 0, [IDs]) 替换 linked ID 列表(比如对每个 ID 使用 (5) 然后 (4,ID)在 ID 列表中)
正如 Nitin 所说,以下代码有效。
existing_documents = self.env['document.product.verify'].search([('docs_id', '=', self.partner_id.id)])
for record1 in self.product_line:
for record2 in existing_documents:
if record1.documents_required_id.id == record2.documents_required_id.id:
hoh1 = (0, 0, {'documents_required_id': record1.documents_required_id.id,
'attachments': record2.attachments,
'file_name': record2.file_name})
result_new.append(hoh1)
break
else:
hoh1 = (0, 0, {'documents_required_id': record1.documents_required_id.id})
result_new.append(hoh1)
break
self.update({'product_line': result_new})