树视图中的按钮 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'

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

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

您在错误的模型中定义了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)

最新更新