Odoo 10 - 给定product_template的供应商信息重复

时间:2017-09-05 06:37:45

标签: odoo-10

我有:

  • a)给定product_template_id(即id 100)和
  • b)使用copy()方法创建的重复的product_template_id(即id 200)

copy()方法仅复制product.template模型,因此不会复制该特定产品的供应商。

我想复制该模型的所有供应商,但现在我想知道在Odoo中使用哪种正确的方式。

如果我理解模型,则给定产品的供应商价格存储在product_supplierinfo表中,其中指向给定product_tmpl_id的每条记录都指定给定product_template的供应商价格/数量。

在Odoo中搜索指向给定product_tmpl_id(即100)的所有记录的方式是什么,复制它们将product_tmpl_id更改为新的(即200)?

1 个答案:

答案 0 :(得分:1)

摘自ORM Documentation

  

复制bool) - 是否应在复制记录时复制字段值(默认值:True表示正常字段, {{1 } False和计算字段,包括属性字段和相关字段)

您引用的字段为One2many,其字段定义如下:

seller_ids

seller_ids = fields.One2many('product.supplierinfo', 'product_tmpl_id', 'Vendors') 属性未明确定义,默认为copy(如上文所述)。如果您希望此字段与标准产品中的其他值一起复制,请复制"复制" (False方法),你可以这样做:

copy

<强>替代地

如果您只想有时复制字段,可以扩展class ProductTemplate(models.Model): _inherit = 'product.template' # This only changes the copy attribute of the existing seller_ids field. # All other attributes (string, comodel_name, etc.) remain as they are defined in core. seller_ids = fields.One2many(copy=True) 方法以查找特定的上下文值,并仅根据该方法进行复制。

copy