跳至内容
菜单
此问题已终结
1 回复
3147 查看

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

形象
丢弃
最佳答案

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.


形象
丢弃
相关帖文 回复 查看 活动
1
11月 15
5397
0
11月 15
13
1
10月 22
1467
3
9月 22
12823
3
8月 22
3812