Перейти к содержимому
Меню
Чтобы взаимодействовать с сообществом, необходимо зарегистрироваться.
Этот вопрос был отмечен
2 Ответы
2565 Представления
@api.model
def create(self, vals):
********def****** res = super(ResPartner, self).create(vals)
I am trying to overwrite the create function in the inherited model, 
once I save it
 raise TypeError(f"unsupported operand types in: {self} + {arg!r}")
TypeError: unsupported operand types in: res.partner() + None
Can someone help me to resolve this please?



Аватар
Отменить
Автор Лучший ответ

Thanks for your reply, 

here is my  original code,  which is same as your but no result. Thank you

@api.model
def create(self, vals):
if self.customer_code:
rec_count = self.env['res.partner'].search_count([('customer_code', '=', self.customer_code)])
if rec_count > 0:
raise ValidationError(_("Customer code already exists"))
super(ResPartner, self).create(vals)



Аватар
Отменить

Try like this
if vals['customer_code']:
rec_count = self.env['res.partner'].search_count([('customer_code', '=', vals['customer_code'])])

Лучший ответ

Hi 

Try this code 

@api.model
def create(self, vals):
if vals.get('code'):
vals['code'] = vals['code'].upper()
return super(ResPartner, self).create(vals)

where code is a field in your model res.partner

https://youtu.be/ZRx3Ll8L7Mo


Hope this Helps

Regards

Аватар
Отменить