【问题标题】:Odoo 8 function call on opening (tree) viewOdoo 8 函数调用打开(树)视图
【发布时间】:2025-11-27 11:00:02
【问题描述】:

有没有办法调用 python 函数(服务器操作)到正在打开的视图。因此,当我单击一个菜单项时,不仅会打开一个树视图(窗口操作),还会执行一个 python 函数(服务器操作)。

可能类似于 onload() 函数?还是树视图中的服务器操作?

谢谢

【问题讨论】:

    标签: python treeview action odoo-8 function-call


    【解决方案1】:

    有一种方法可以实现它。 只需在树视图中添加该功能字段并使其不可见 所以它也会在树视图中调用

    【讨论】:

      【解决方案2】:

      您可以,例如从 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),具体取决于您要从何处打开树视图。

      希望对你有帮助。

      【讨论】: