Link 从我的模型 (Odoo 8) 到 python 功能的按钮

Link a button to a python function from my model (Odoo 8)

我在将按钮链接到模型中的函数 (python) 时遇到问题。 我在网上搜索但只获得了很少的关于 Odoo 8 的信息。 这是我现在的代码:

我的模型函数 (mymodule.service):

def main_val(self, context=None):
     if context is None:
         context = {}
     [...]

关联的视图:

<record model="ir.ui.view" id="view_myodule_clients_tree">
          <field name="name">mymodule.clients.tree</field>
          <field name="model">mymodule.service</field>
          <field name="inherit_id" ref="base.view_partner_tree"/>
          <field name="arch" type="xml">
              <field name="display_name" position="after">
                  <button name="main_val" type="object" string="Bill" class="oe_highlight" /> 
              </field>
          </field>
      </record>

我一直有这个错误:

Error details:
Field `function` does not exist

我不知道为什么。

你有什么想法吗?谢谢

如果您想在单击按钮时调用 python 函数,您必须在 按钮名称属性 和 [=22= 中设置相同的方法名称]button type 属性作为对象。

我会给你一个小演示,你用手检查一下

def main_val(self,cr,uid,ids,context=None):
     if context is None:
         context = {}
    # your logic will set over  hear
return True

您必须在 xml 文件中设置与按钮名称属性相同的名称属性

<button name="main_val" type="object" string="Bill" class="oe_highlight" />

您可以检查您的方法参数并更新您的模块,然后单击按钮

希望这对您有所帮助..:)

如果您使用的是 odoo 8,您可以使用:

@api.one 
def main_val(self)

@api.multi
def main_val(self)

@one 只对这条记录执行函数 @muli 记录集