コンテンツへスキップ
メニュー
この質問にフラグが付けられました
1 返信
3896 ビュー

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
6169
0
11月 15
13
1
10月 22
2028
3
9月 22
13794
3
8月 22
4529