我有:
copy()方法仅复制product.template模型,因此不会复制该特定产品的供应商。
我想复制该模型的所有供应商,但现在我想知道在Odoo中使用哪种正确的方式。
如果我理解模型,则给定产品的供应商价格存储在product_supplierinfo表中,其中指向给定product_tmpl_id的每条记录都指定给定product_template的供应商价格/数量。
在Odoo中搜索指向给定product_tmpl_id(即100)的所有记录的方式是什么,复制它们将product_tmpl_id更改为新的(即200)?
答案 0 :(得分:1)
复制(
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