【问题标题】:Odoo- Add domain filter on field after creatingOdoo-创建后在字段上添加域过滤器
【发布时间】:2017-06-08 15:46:15
【问题描述】:

我是 odoo 的新手,我的模型中有两个下拉菜单,它们是从 res.users 加载的。我想要做的是,当有人选择 'Administrator'first_approver 中的任何其他用户时,应该从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 方法中更新字段定义

【问题讨论】:

    标签: python attributes openerp field odoo-10


    【解决方案1】:

    如果你想要域名然后申请以下

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

    所以first_approver 不会显示在second_approver 字段中。

    其他字段选项和其他开发帮助可以在Odoo Documentation中找到。

    【讨论】:

    • 太完美了!非常感谢朋友!
    【解决方案2】:

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

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

    【讨论】:

    • 这对我有用,thanx 很多,一直在寻找。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-20
    相关资源
    最近更新 更多