You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Odoo 15中如何按条件禁用树形视图中的自定义按钮?

树形视图按钮按记录动态禁用的解决方案
  • 别用全局的invisible或readonly,改用Odoo的attrs属性就能实现单条记录级别的按钮状态控制。
  • 直接在按钮的XML定义里加attrs,通过disabled键绑定你的判断条件,示例代码:
    <tree>
        <!-- 其他字段 -->
        <button name="action_your_method" string="目标按钮" type="object"
                attrs="{'disabled': [('state', '=', 'completed')]}"/>
    </tree>
    
    上面的代码会让状态为completed的记录对应的按钮禁用,其他记录的按钮正常可用。
  • 多条件组合的话,用逻辑运算符拼接就行,比如要同时满足两个条件:
    attrs="{'disabled': ['&', ('state', '=', 'completed'), ('amount', '<', 100)]}"
    
    意思是记录状态为completed且金额小于100时,按钮禁用。
  • 注意:用来判断的字段(比如state、amount)必须是当前模型已有的字段,且当前用户有权限读取这些字段,不然条件判断不生效。

内容的提问来源于stack exchange,提问作者reyhane janboori

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 10:21:58