首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将按钮链接到我的模型中的python函数(Odoo 8)

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

Stack Overflow用户
提问于 2015-05-15 22:02:00
回答 2查看 9.2K关注 0票数 1

我在将按钮链接到我的模型中的一个函数(python)时遇到了问题。我在网上搜索了一下,但只找到了Odoo 8的一些信息,这就是我现在的代码:

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

代码语言:javascript
复制
def main_val(self, context=None):
     if context is None:
         context = {}
     [...]

关联的视图:

代码语言:javascript
复制
<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>

我一直有这样的错误:

代码语言:javascript
复制
Error details:
Field `function` does not exist

我也不知道为什么。

你有什么想法吗?谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-05-15 23:25:06

如果要在按钮单击时调用python函数,则必须在按钮名称属性按钮类型类型属性中设置与对象相同的方法名称。

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

代码语言:javascript
复制
def main_val(self,cr,uid,ids,context=None):
     if context is None:
         context = {}
    # your logic will set over  hear
return True

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

代码语言:javascript
复制
<button name="main_val" type="object" string="Bill" class="oe_highlight" />

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

我希望这能对你有所帮助。:)

票数 0
EN

Stack Overflow用户

发布于 2016-06-15 18:49:36

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

代码语言:javascript
复制
@api.one 
def main_val(self)

代码语言:javascript
复制
@api.multi
def main_val(self)

此记录的@one execute函数仅用于记录集的@muli

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30261459

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档