奥多的改变不起作用了

2024-05-17 03:18:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个有很多元素的表单。其中一个是名为evaluation_id的下拉列表。我正在尝试在evaluation_id上创建一个Odooon_change( )事件,其中-deadline形式的另一个元素将被更新为某个值。在

在我的XML中,我有:

<field name="evaluation_id" string="Appraisal" on_change="onchange_evaluation_id(evaluation_id)"/>

我有一个Python脚本

^{pr2}$

以下是hr_evaluation_view.XML的原始代码和hr_evaluation.PY脚本的片段。在

我做错什么了?当我查看网络日志时,我发现on_change函数甚至没有加载。在

我能做些什么来解决这个问题?任何帮助都会很好!谢谢。在


Tags: 脚本id元素表单field列表on事件
2条回答

当功能触发时,在odoo中有两个选项可供使用。在

@api.onchange

如果在窗体中更改了decorator中指定的任何字段,则此decorator将触发对decorated函数的调用。此处范围仅限于同一屏幕/型号。在

你可以在@api.依赖以及@api.onchange,但有些不同之处在于onchange的范围仅限于同一屏幕/模型@api.依赖也适用于其他相关屏幕/模型。在

@api.onchange('field')
def onchange_field(self)
    self.deadline= value

@api.依赖

这个装饰器专门用于“字段.函数“在奥多。为了一个“字段.函数“,您可以计算该值并将其存储在一个字段中,在该字段中,计算可能依赖于同一表或其他表的其他字段,在这种情况下,您可以使用@api.depends来监视某个表的字段。在

因此,如果decorator中的任何字段“被ORM更改或在表单中更改”,这将触发对decorated函数的调用。在

^{pr2}$

更多信息,Here是描述odoov8所有API的链接。在

这个方法可以写入py文件。如果您只在Odoo-v8上工作,这将起作用。在

@api.onchange('evaluation_id')
def onchange_evalution_id(self)
    self.deadline='2015'

相关问题 更多 >