【问题标题】:Copying attachment from one2many field to another one2many odoo 10将附件从 one2many 字段复制到另一个 one2many odoo 10
【发布时间】:2018-07-17 06:27:27
【问题描述】:

我厌倦了根据 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

【问题讨论】:

    标签: python attachment odoo-10


    【解决方案1】:

    使用它来更新/插入/删除 one2many 字段的数据:

    (0, 0, { values }) 链接到需要使用给定值字典创建的新记录

    (1, ID, { values }) 用 id = ID 更新链接记录(在上面写 values

    (2, ID) 删除并删除 id = ID 的链接记录(在 ID 上调用 unlink,这将完全删除对象,以及指向它的链接)

    (3, ID)切断链接到id = ID的链接记录(删除两个对象之间的关系但不删除目标对象本身)

    (4, ID) 链接到 id = ID 的现有记录(添加关系)

    (5) 取消所有链接(例如对所有链接记录使用 (3,ID))

    (6, 0, [IDs]) 替换链接的 ID 列表(例如对 ID 列表中的每个 ID 使用 (5) 然后 (4,ID))

    【讨论】:

      【解决方案2】:

      按照 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})
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多