Skip to Content
Menu
This question has been flagged
1 Odpoveď
5059 Zobrazenia

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,
})],
})
Avatar
Zrušiť

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

Best Answer

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})

Avatar
Zrušiť
Autor

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()

Autor

Noted Yenthe

Related Posts Replies Zobrazenia Aktivita
1
nov 24
19947
1
sep 23
2862
3
máj 23
5460
7
apr 23
48767
1
dec 22
7654