我想在产品上应用一个域,例如,并非所有产品都只显示Ligne合同字段中的产品:
在“我的对比”行中,我只有一个产品,因此在销售订单行中,只有此产品(商品)必须显示
答案 0 :(得分:3)
在您的sale.order.line
中使用onchane事件
@api.onchange('contrat_id')
def set_domain(self):
# force the user to reselect the producg if he changes the contrat line
self.product_id = False
if self.contrat_id :
return {'domain': {'product_id': [('id', 'in', self.contrat_id.product_ids.ids)]}}
else:
# remove the domain if no contrat is selected
return {'domain': {'product_id': []}}
很抱歉,如果我在语法错误上使用手机,但希望您能理解
编辑
好的,在您的合同模型中,您没有产品模型的many2many字段,相反,我认为您有{2> 1 {2}字段。
因此,假设在此ligne contract
关系中该字段的名称为ligne_ids
,产品模型中有一个one2many
字段,可以说它的名称为many2one
。
使用map的功能在一行中提取合同木本中的所有产品ID。
product_id
希望这对您有帮助