Skip to Content
Меню
Вам необхідно зареєструватися, щоб взаємодіяти зі спільнотою.
Це запитання позначене
2 Відповіді
6423 Переглядів

i declared two field 'firstname' and 'secondname' in the rh.employee model and i want to concatenate both of them on the name field.

here is the function that i am declared 


def create(self, cr, uid, vals, context=None):

        new_id = super(HrEmployeePrivate, self).create(cr, uid, vals, context=context)

        names = (vals['Prénom'], vals['Nom'])

        fullname = " ".join([s for s in names if s])

        vals['name'] = fullname

        return new_id


and i call the function in the field name as well 


name = fields.Char(string="Employee Name",compute='create', related='resource_id.name', store=True, readonly=False, tracking=True)


but when i clck save, i get

the operation cannot be completed,

probably due to the following: 

creation/update: a mandatory field is not correctly set


Аватар
Відмінити
Автор

thanks, but the field that i want to be filled with the concatenation value is already exist

i replace the vals['full_name'] with vals['name']

and in the field i called the function but the same error shows up 

Найкраща відповідь

Hi,

Try like this,

@api.model
def create(self, vals):
full_name = ''
if vals.get('firstname'):
full_name += vals['firstname']
if vals.get('secondname'):
full_name += vals['secondname']
vals['full_name'] = full_name
res = super(ResPartner, self).create(vals)
return res

firstname = fields.Char(string="First Name")
secondname = fields.Char(string="Second Name")
full_name = fields.Char(string="Name")

Thanks

Аватар
Відмінити
Related Posts Відповіді Переглядів Дія
4
трав. 24
12707
1
квіт. 24
3321
0
лист. 23
2041
1
вер. 23
2141
2
серп. 23
4530