This question has been flagged
1 Reply
1911 Views

Where can I find Default code for Create/Read/Update/Unlink methods and how to override them?

Avatar
Discard
Best Answer

Hi, there,

You can inherit the class and rewrite the 4 methods. 

Try this(use the sale.order module and take create and write methods for example):

class sale_order_improved(models.Model):
_inherit = ['sale.order']
_order = "name desc"

@api.model
def create(self, vals_list):
_logger.info('---- customer created ----')
_logger.info('---- customer created vals_list ----' + str(vals_list))
order_flag = ''
if 'packaging_ids' in vals_list.keys():
for items in vals_list['packaging_ids']:
order_flag = ','.join(map(str, items[2]))
vals_list.update({'order_flag': order_flag})
res = super().create(vals_list)
return res

def write(self, vals_list):
_logger.info('---- customer updated ----')
_logger.info('---- customer updated vals_list ----' + str(vals_list))
order_flag = ''
if 'packaging_ids' in vals_list.keys():
for items in vals_list['packaging_ids']:
order_flag = ','.join(map(str, items[2]))
vals_list.update({'order_flag': order_flag})
res = super().write(vals_list)
_logger.info('---- customer updated res ----' + str(res))
return res

more references:

https://www\.youtube\.com/watch\?v=sOrCZItpw_4

https://www\.youtube\.com/watch\?v=_\-fs_NBeOLI

https://www.youtube.com/watch?v=v8sXFUi1SH4

Hope it is useful.


Avatar
Discard