gpt4 book ai didi

python - "disable"on_change id odoo 9 创建产品后

转载 作者:行者123 更新时间:2023-11-29 12:24:44 24 4
gpt4 key购买 nike

我想问一下,当产品已经创建时,是否有任何方法可以“禁用”onchange 装饰器。

我有一个字段 (X),其值取决于 3 个其他字段 (Y) 中的内容。我用过“api.onchange”。创建产品时,我想让 Y 字段之一不再更改 X 的值。

我尝试检查数据库中是否存在“self”,如 exists(),但即使是新记录也被标记为“已存在”。我试图访问 self.id,但这是不可能的。我想过用 bool 类型创建额外的字段,但这是最后的手段。

最佳答案

新 API

第一张图片我在 product.template 的名称中添加了一个 onchange 事件我使用 Debug模式停止程序并查看我是否可以访问 self._origin显然我可以访问它

enter image description here

第二张图片显示,当我更新产品时,ID 值已传递

enter image description here

现在第三张图片显示,当我创建新产品时,self._origin 中的 id 的值为 False

enter image description here

所以你可以发布使用过的代码吗?我想了解为什么你无法访问 self._origin

旧 API

当使用旧的 api 时,self._origin 无法访问,但您在编辑模式下拥有 ID 列表,该列表不会为空。

def onchange_name(self, cr, uid, ids, name, context=None):
# when updating a record ids will not be empty
# in my case will be ids=[55]
# in create mode the ids is empty
# id = []
if not ids :
# here you are in create mode you put your logic here

关于python - "disable"on_change id odoo 9 创建产品后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46795215/

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