콘텐츠로 건너뛰기
메뉴
커뮤니티에 참여하려면 회원 가입을 하시기 바랍니다.
신고된 질문입니다
1 회신
5163 화면

I have got a python code which searches records from one model and writes them to a one to many field in another model the problem is that my code is printing the records twice as in it duplicates each record what might be the issue here is my code.Kindly Assist 

@api.one
def load_defaults_two(self):
self.ensure_one()
part_two_company_objs = self.env['kpi.objectives.part'].search([])
for items in part_two_company_objs:
self.write({
'part_order_line': [(0, 0, {
'product_id': items.id,
'individual_score': 0,
'unit_price': 0,
'management_score': 0,
})],
})
아바타
취소

Have you tried by writing directly on the foreign table?

remote_record_id = self.env['your.second.table'].create({

'product_id': items.id,

'individual_score': 0,

'unit_price': 0,

'management_score': 0,

})

self.part_order_line += remote_record_id

베스트 답변

Try This one

@api.one

def load_defaults_two(self):

    self.ensure_one()

    part_two_company_objs = self.env['kpi.objectives.part'].search([])

    part_order_line = []

    self.part_order_line.unlink()

    for items in part_two_company_objs:

        part_order_line.append((0, 0, {'product_id': items.id,

                    'individual_score': 0,

                    'unit_price': 0,

                    'management_score': 0,})


    self.write({'part_order_line': part_order_line})

아바타
취소
작성자

I have tried this but its not working out

Plus you shouldn't use @api.one, it is being phased out for @api.multi with self.ensure_one()

작성자

Noted Yenthe

관련 게시물 답글 화면 활동
1
11월 24
20196
1
9월 23
3013
3
5월 23
5623
7
4월 23
48981
1
12월 22
7859