gpt4 book ai didi

python - 如何为Odoo 10字段创建动态域(将在表单加载之前给出)?

转载 作者:行者123 更新时间:2023-12-02 04:35:07 25 4
gpt4 key购买 nike

我在上面有两个字段是客户,另一个是客户联系人:

   customer = fields.Many2one(res.partner)
customer_contact = fields.Many2one(res.partner)

##到目前为止,我所做的是:
    @api.onchange('customer')
def _getCustomerContacts(self):
res = {}
self.customer_contact = False
if self.customer:
res['domain'] = {
'customer_contact': [('id', 'in',
self.carrier.child_ids.ids),('type', '=', 'driver')]}
else:
res['domain'] = {'customer_contact': [('id', 'in', [])]}
return res

这是一个不好的解决方案,原因有一个:如果我稍后来组建并尝试仅更改联系人,他将没有域,并且将显示所有res伙伴。我搜索了一段时间,似乎每个人都可以使用onchange解决方案。对我来说不好。因此,也许会有一个有类似问题并找到解决方案的好人,或者您有一些建议,我应该寻找什么。

非常感谢您的宝贵时间!!!

最佳答案

你可以试试 :

@api.onchange('customer')
def _getCustomerContacts(self):
if self.customer:
ids = []
for child_id in self.carrier.child_ids:
ids.append(child_id.id)

domain = {
'customer_contact': [('id', 'in', ids),('type', '=', 'driver')]}
else:
domain = {'customer_contact': [('id', 'in', [])]}
return domain

关于python - 如何为Odoo 10字段创建动态域(将在表单加载之前给出)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44152210/

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