在树视图odoo 9的按钮

时间:2017-08-21 08:29:02

标签: odoo odoo-10 odoo-9

我需要树视图中的所有行的按钮。点击按钮后我需要获取行ID。

我正在尝试,但没有工作:

*。XML

<button name="copy_line" class="text-right" icon="fa-files-o" type="object"/>

*。PY

@api.multi
def copy_line(self):
     print("Not come here!")
     for r in self:
        print(r.id)

object has no attribute 'copy_line'

2 个答案:

答案 0 :(得分:0)

要在按钮上调用方法,请单击该记录。 但在这种情况下,Record未保存,因此您无法在按钮单击时调用该方法。

Alternet方式是,您可以在页脚中基于onchange或按钮创建一个新行,并添加self._cr.commit()以提交并引发ValidationError。

答案 1 :(得分:0)

您在错误的模型中定义copy_line 如果button包含在为One2Many字段line_ids定义的树视图中,并且该字段引用object.line,则应在其中创建方法copy_line模型。

例如:

    line_ids = fields.One2Many('object.line', 'ref_id', string='Lines')

class ObjectLine(models.Model):
    _name = 'object.line'  

    @api.multi
    def copy_line(self):
        print("Not come here!")
        for r in self:
            print(r.id)