我的应用程序中有自定义模型 csm 。我有一个 many2many 字段作为 product_multi 提供给 product.product 。这个many2many字段导致创建另一个名为 csm_product_product_rel 的表。现在我需要使用环境和创建函数从account.invoice模型创建此表中的记录。
我尝试的是......
id
但它给出了错误,如价值错误" csm_product_product_rel"在评估时。如果我使用相同的代码self.env['csm_product_product_rel'].create({
'customer_service_management_id': ticket_id,
'product_product_id': 1,
})
,它不会给出任何错误。可能是什么问题。我怎样才能做到这一点?
答案 0 :(得分:2)
这是你必须编写create函数的方法。请查看下面的示例代码并尝试
def create(self, cr, uid, values, context=None):
partner_id=values.get('partner_id')
if partner_id:
emp_ids=values.get('employee_ids')
if emp_ids:
for line in emp_ids:
self.pool.get('res.partner').write(cr, uid, partner_id, {'employee_ids': [(4, line[2])]}, context=context)
return super(sale_order, self).create(cr, uid, values, context=context)
答案 1 :(得分:2)
这是因为模型csm_product_product_rel
不存在。存在于数据库中的表,但不存在python代码中的模型。
您已定义了从csm
模型到product.product
模型的关系。如果要添加新的关系记录,则需要执行此操作
通过csm
模型,如下所示:
self.write({'many2manyfield': [(4, product.id)]})
其中self
是csm
模型的记录。
Here您有special commands
的列表来管理* 2many字段的记录。