gpt4 book ai didi

python - 如何根据odoo中另一个字段的值过滤一个Many2one字段

转载 作者:太空宇宙 更新时间:2023-11-03 23:58:25 31 4
gpt4 key购买 nike

我的模型中有这些字段:

seller = fields.Many2one('res.partner', string="Select Seller",domain="[('supplier','=',True)]")
products= fields.Many2one('product.template', string="Select Product" )

现在,我需要在用户选择卖家时过滤第二个字段(第一个字段)如何在更改时设置域。

我正在尝试做类似的事情,

@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")

(请注意,此字段的表单与上述问题中的表单不同)。我试图只获取在我创建卖家条目时创建的那些产品条目。我真的很困惑,我该如何完成这个?

最佳答案

在您的情况下,您不能使用“动态”域,而是更多地使用产品 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': []}}

关于python - 如何根据odoo中另一个字段的值过滤一个Many2one字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56666168/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com