我的模型中有以下字段:
seller = fields.Many2one('res.partner', string="Select Seller",domain="[('supplier','=',True)]")
products= fields.Many2one('product.template', string="Select Product" )
现在,我需要在用户选择卖家时过滤第二个字段(第一个字段) 如何设置域的onchange。
我正在尝试做类似的事情,
@api.onchange('seller')
def onchange_field_seller(self):
res = {}
if self.seller:
# return {'domain':{'product':[//what do i add here//]}}
return res
我正在使用many2many字段以卖方创建表单创建产品。
product_details = fields.Many2many('product.template',string="Products")
(请注意,带有此字段的表单与上面问题中的表单不同)。 我只想获取创建卖方条目时创建的产品条目。我真的很困惑,我该如何做到这一点?
答案 0 :(得分:3)
在您的情况下,您不能在产品ID上使用“动态”域,而可以使用更多的预定义域。
@api.onchange('seller')
def onchange_field_seller(self):
if self.seller:
# filter products by seller
product_ids = self.seller.product_details.ids
return {'domain': {'product': [('id', 'in', product_ids)]}}
else:
# filter all products -> remove domain
return {'domain': {'product': []}}