У меня есть одна форма с полями,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
Это из-за создать удовольствие фикция.
@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)
Благодарим за редактирование –