我有一个表格字段写入功能,Odoo:在Odoo 8
Name :
First Name:
Second Name:
Last Name:
我已经写了创建功能,当我们进入第一个名字,第二个名字,姓氏,它将设置名称
First Name: Test First
Second Name: Test Second
Last Name: Test Third
就会产生
Name : Test First Test Second Test Third
这是因为创建乐趣ction。
@api.model
def create(self, vals):
child = vals.get('child_first_name')
child_middle = vals.get('child_middle_name') or ' '
child_last = vals.get('child_last_name') or ' '
if child:
vals['name'] = self.env['ir.sequence'].next_by_code('application_form')
vals['child_name'] = child + ' ' + child_middle + ' ' + child_last
return super(application_form, self).create(vals)
当我修改任何这些字段
First Name
Second Name
Last Name
的应再次设置的名称。
请建议一个写功能有很好的方法。
以同样的方式:
问题2:
有一个布尔字段。
对于参考:
我已经写在要生成的序列号创建方法。 如果我取消选中布尔字段,则要生成其他一组序列号。
请建议写功能。
写作的上述问题
@api.multi
def write(self, vals):
application = self.browse(self.id)
if vals.has_key('child_first_name'):
fname = vals.get('child_first_name') or ' '
else :
fname = application.child_first_name
if vals.has_key('child_middle_name'):
mname = vals.get('child_middle_name') or ' '
else :
mname = application.child_middle_name
if vals.has_key('child_last_name'):
lname = vals.get('child_last_name') or ' '
else :
lname = application.child_last_name
full_name = fname + ' ' + mname + ' ' + lname
vals.update({'child_name':full_name})
return super(application_form, self).write(vals)
感谢您的编辑 –