【发布时间】:2025-11-27 11:00:02
【问题描述】:
有没有办法调用 python 函数(服务器操作)到正在打开的视图。因此,当我单击一个菜单项时,不仅会打开一个树视图(窗口操作),还会执行一个 python 函数(服务器操作)。
可能类似于 onload() 函数?还是树视图中的服务器操作?
谢谢
【问题讨论】:
标签: python treeview action odoo-8 function-call
有没有办法调用 python 函数(服务器操作)到正在打开的视图。因此,当我单击一个菜单项时,不仅会打开一个树视图(窗口操作),还会执行一个 python 函数(服务器操作)。
可能类似于 onload() 函数?还是树视图中的服务器操作?
谢谢
【问题讨论】:
标签: python treeview action odoo-8 function-call
有一种方法可以实现它。 只需在树视图中添加该功能字段并使其不可见 所以它也会在树视图中调用
【讨论】:
您可以,例如从 action.server 执行此操作,我将给您一个示例,该示例用于从瞬态模型打开向导。
<record id="action_current_account_conciliate" model="ir.actions.server">
<field name="name">Conciliate</field>
<field name="type">ir.actions.server</field>
<field name="model_id" ref="l10n_ar_current_account.model_current_account"/>
<field name="code">
if obj.raise_imputation_wizard():
action = {
"type": "ir.actions.act_window",
"res_model": 'current.account.imputation.wizard',
"view_mode": "form",
"target": "new",
"res_id": obj.wizard_id,
}
</field>
</record>
使用字段代码,您可以编写 python 代码。该操作是向导的返回(您可以将 view_mode 更改为 tree 而无需 target new),具体取决于您要从何处打开树视图。
希望对你有帮助。
【讨论】: