复制新树视图行odoo 9中的最后一个值

时间:2017-07-20 14:09:20

标签: openerp odoo-9

单击树视图中的添加项时,我想要从最后插入的行中获取新的行复制值。

EG。 if field name ='Text'在新行中我需要在字段名称字符串'Text'

任何简单的解决方案?

1 个答案:

答案 0 :(得分:2)

如果要从数据库加载默认值,请遵循此方法。

您可以通过覆盖default_get方法来实现它,并且您需要编写逻辑。

${env:key}

当您点击添加项目时,它将使用其默认值填充新记录,在默认值中,我们已经写了最后一个记录的值。

如果你想从列表视图中加载默认值(列表中最后添加的值),那么这是一项有点棘手的工作,因为你可以做如下的事情。

在父表单中添加一个字段。

${sys:key}

为该字段创建onchange方法。

@api.model
def default_get(self,fields):
    res = super(class_name, self).default_get(fields)
    last_rec = self.search([], order='id desc', limit=1)
    if last_rec:
        res.update({'your_field_name':last_rec.field_value})
    return res

在xml字段中,你需要这样写。

last_added_value = fields.Char("Last Added Value")

您还需要编写default_get方法。

@api.onchange('field_name')
def onchange_fieldname(self):
    # there must be many2one field of parent model, use it here.
    self.parent_model_field.last_added_value = self.field_name