连接名字和姓氏并填入odoo中的姓名字段

vij*_*iya 2 field readonly openerp

我有包含三个字段的模块 •name •first name •last name 当用户按下保存时,名字和姓氏将连接并显示在姓名字段中。名称字段必须处于只读模式。

def onchange_name(self, cr, uid, ids, firstname, lastname, context=None):
        value = {'fullname' : True}
        if firstname and lastname:
            value['fullname'] = firstname + " " +lastname   
        return {'value': value}


<field name="fullname" readonly="True" on_change="onchange_fullname(fullname,context)"/>
<field name="firstname" string="First name" on_change="onchange_name(firstname,lastname,context)"/>                    
 <field name="lastname" string="Last name" on_change="onchange_name(firstname,lastname,context)"/>  
Run Code Online (Sandbox Code Playgroud)

Ale*_*olo 6

在模型中,重新定义name字段为计算和存储:

name = fields.Char(compute='comp_name', store=True)
Run Code Online (Sandbox Code Playgroud)

然后定义计算方法:

@api.depends('first_name','last_name')
def comp_name(self):
    self.name = (self.first_name or '')+' '+(self.last_name or '')
Run Code Online (Sandbox Code Playgroud)

这样你就可以删除on_change