Přejít na obsah
Menu
You need to be registered to interact with the community.
This question has been flagged
1 Odpovědět
5104 Zobrazení

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šit

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

Nejlepší odpověď

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šit
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 Odpovědi Zobrazení Aktivita
1
lis 24
20029
1
zář 23
2905
3
kvě 23
5488
7
dub 23
48824
1
pro 22
7725