Python 有没有办法在Odoo 12中的树状视图中向动作菜单添加额外的动作?

Python 有没有办法在Odoo 12中的树状视图中向动作菜单添加额外的动作?,python,treeview,odoo,wizard,odoo-12,Python,Treeview,Odoo,Wizard,Odoo 12,我正在搜索以将显示向导的新按钮添加到树状视图中的操作按钮显示中 我的向导可以工作,因为我单独测试了它,但我需要将它添加到顶部的操作按钮中,我不知道如何操作 我尝试使用action.server,但没有找到任何对我有帮助的示例 谢谢 我也知道,从奥多10到奥多12发生了变化,这就是为什么我没有找到任何线索 下面是我尝试过但没有成功的例子 <record model="ir.actions.act_window" id="enviar_evaluacion&quo

我正在搜索以将显示向导的新按钮添加到树状视图中的操作按钮显示中

我的向导可以工作,因为我单独测试了它,但我需要将它添加到顶部的操作按钮中,我不知道如何操作

我尝试使用action.server,但没有找到任何对我有帮助的示例

谢谢

我也知道,从奥多10到奥多12发生了变化,这就是为什么我没有找到任何线索

下面是我尝试过但没有成功的例子

<record model="ir.actions.act_window" id="enviar_evaluacion">
        <field name="name">enviar_evaluacion</field>
        <field name="view_id" ref="vista_formulario_riesgo_para_evaluacion"/>
        <field name="domain">[]</field>
        <field name="context">{}</field>
        <field name="res_model">pdi.riesgo</field>
        <field name="view_type">form</field>
        <field name="view_mode">form</field>
        <field name="target">new</field>
</record>

<record model="ir.actions.server" id="accion_servidor_evaluacion">
    <field name="name">Enviar a evaluacion</field>
    <field name="model_id" ref="model_pdi_riesgo_wizard_evaluacion"/>
    <field name="state">code</field>
    <field name="code">
        object.enviar_a_evaluar(context.get('active_ids'))
    </field>
</record>

环境评估
[]
{}
里斯戈
形式
形式
新的
环境评估
代码
object.enviar\u a\u evaluer(context.get('active\u id'))
下一次尝试

<record model="ir.actions.server" id="menu_action_evaluacion">
    <field name="name">Enviar a evaluacion</field>
    <field name="model_id" ref="model_pdi_riesgo"/>
    <field name="state">code</field>
    <field name="code">
        action=pdi.riesgo.wizard.evaluacion.enviar_a_evaluar()
    </field>
</record>




<menuitem id="menu_enviar_a_evaluacion" 
          name="Enviar a evaluacion" 
          parent="pdi_Riesgo.menu_riesgo_evaluaciones" 
          action="menu_action_evaluacion"/>

环境评估
代码
action=pdi.riesgo.wizard.evalucion.enviar\u a\u evaluar()

[Odoo 7、8、9和10]要将操作添加到操作菜单,还必须为“ir.values”模型创建一条记录。这里有一个例子:


行动名称
客户端\u操作\u多
行动
我的模特
新方法是在操作上设置一些新字段。以下是一个例子:


标记为丢失
列表
代码
如果记录:
操作\u值=env.ref('crm.crm\u lead\u lost\u action')。读取()[0]
操作\u values.update({'context':env.context})
动作=动作值
因此,model
ir.actions
(由
ir.actions.server
继承)上有三个字段,所有字段都以
binding\uu
开头

  • binding_model_id:将ref设置为现有模型,就足以在action菜单中显示操作
  • 绑定类型:
    report
    用于报告菜单,
    action
    用于操作菜单(默认)
  • 绑定视图类型:
    list,form
    是默认值,
    list
    form
    也应该可以工作,我没有查看该字段,所以可能有更多的组合/值

这是一个针对较旧的Odoo版本的解决方案,但在Odoo 12中不起作用,因为该型号
ir.values
已不存在。没错,我将更新我的答案以添加相关版本。其他人已经为Odoo 12编写了解决方案,与新的binding_model_id属性相关。您还可以添加版本7、8和9,因为该解决方案也应该在那里工作。是的,我写了另一个答案:-别针的一部分,我可以使用一个方法,我在一个python文件??在wizard.py文件中是的,您可以调用
model\u id
后面的模型方法,例如
model.my\u method()
,或者如果您在列表视图中标记了一些记录,您也可以调用
records.my\u multi\u method()
。我今天将尝试一下。晚上,我会再次评论它是否有效。谢谢你的帮助。问题仍然存在,即使没有显示错误,按钮也不起作用。下面是代码现在Enviar a evaluacion列表,表单代码if record:action\u values=records.pdi\u Riesgo.pdi.Riesgo.wizard.evaluacion.Enviar\u a\u evaluar()action=action\u values