从我的模型链接按钮到python函数(Odoo 8)

时间:2015-05-15 14:02:00

标签: python model odoo 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

我无法找出原因。

你知道吗?感谢

2 个答案:

答案 0 :(得分:0)

如果要在按钮上调用python函数,则必须在按钮名称属性按钮 类型<中设置相同的方法名称/ strong>属性作为对象。

我会给你一个小的演示,只需用一只手检查

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" />

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

我希望这对你有用..:)

答案 1 :(得分:0)

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

viewTransformMatrix

@api.one 
def main_val(self)

@one仅执行此记录的功能 @muli用于记录集