python - Odoo Onchange 方法不适用于 Many2one 字段

标签 python odoo odoo-9

我使用 v9 的新 api 在 Many2one 字段上编写了一个 onchange 方法。我的代码是

branch_id = fields.Many2one('branch.branch', 'Branch')

@api.onchange('branch_id')
def onchange_branch(self):
    if self.branch_id:
        self.shop_ids = self.branch_id.shop_ids

我还没有在 xml 上添加更改。当我更改 Many2one 字段时,不会调用 on Change 方法。

此外,在开发人员模式工具提示上,我看不到 onchange,而在其他文件上我可以看到。

有人知道我缺少什么吗?

最佳答案

我在将代码从 v7 迁移到 v9 时遇到了此类问题。我正在将方法从旧 api 更改为 odoo 新 api。那一次我忘了评论旧的api方法。

这可能是您的问题。

请检查您的方法onchange_branch,如果您有两个同名或不同的方法。如果是,则删除额外的方法。

关于python - Odoo Onchange 方法不适用于 Many2one 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38998333/

相关文章:

python - 读取 CSV 文件时合并重复的列

python - 在 Python 中调用时是否可以创建一个不存在的方法?

python - 如何将域名应用于按钮?

attributes - 如何在 Odoo 9 的 attrs 中使用名称字段而不是 id?

odoo-9 - 基于访问的表单 View

python - 绘制具有 7 个特征的 Scikit Logistic 回归的决策边界

python - 将 Pandas 列中的整数值转换为字符串

python - 如何使用额外的 pip 包正确扩展基本 odoo docker 镜像?

python - 关于小部件="selection"的说明

python - 将字段从一种模型继承到另一种模型 - Odoo v9 社区