Odoo-创建后在字段上添加域过滤器

Odoo- Add domain filter on field after creating

我是 odoo 的新手,我的模型中有两个下拉菜单,它们是从 res.users 加载的。我想做的是,当某人 select 'Administrator'first_approver 中的任何其他用户时,应删除该 select 用户从 second_approver 下拉

class test(models.Model):
_name = 'test.test'

name = fields.Char()
first_approver = fields.Many2one('res.users')
second_approver = fields.Many2one('res.users')

我认为可以通过在 second_approver 上添加域过滤器来完成,但我不知道如何在 onChange 方法中更新字段定义

如果您想要域名,请申请以下

first_approver= fields.Many2one('res.users')
second_approve= fields.Many2one('res.users', domain="[('id', '!=', first_approver)]")

因此 first_approver 将不会显示在 second_approver 字段中。

可以在 Odoo Documentation.

中找到其他字段选项和其他开发帮助

您也可以在 xml 中申请相同的域。如果您在 .py(python) 文件中添加域,同样也将应用于数据库。

<field name="first_approver"/>
<field name="second_approve domain="[('id', '!=', first_approver)]"/>