我在Product Code
创建时创建了新的字段Product Barcode
和Product Variant
。我在product.template
和product.product
都创建了这个字段,然后当用Product Template
和Product Code
在Product Barcode
创建产品时,我想为Product Code
创建一个Sequenced Product Barcode
和Product Variants
这将属于product.product
。例如:如果我们在abc
中将Product Code
作为Product Template
并且它有3个变体,Product Code
中的Product Template
应分别为abc-1
,abc-2,abc-3
。数据传递和所有操作都已完成,但在我的逻辑中,如果我们删除一个变体并添加另一个变体,则它有可能会出现同名。例如:如果我们删除变体abc-1
并添加另一个变体,它的Product Code
将作为abc-3
(已经可用)
码
for variant_ids in to_create_variants:
if self.product_variant_count == 0 :
count = count + 1
else :
count = self.product_variant_count + 1
new_variant = Product.create({
'product_tmpl_id': tmpl_id.id,
'attribute_value_ids': [(6, 0, variant_ids.ids)],
'xn_product_code' : str(tmpl_id.xn_product_code_tmpl) + "-" + str(count),
'xn_product_barcode' : str(tmpl_id.xn_product_barcode_tmpl) + "-" + str(count)
})
我通过向Product Template
添加额外的计数字段来解决这个问题