تخطي للذهاب إلى المحتوى
القائمة
لقد تم الإبلاغ عن هذا السؤال
1 الرد
4826 أدوات العرض

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
نوفمبر 24
19226
1
سبتمبر 23
2109
3
مايو 23
4926
7
أبريل 23
48167
1
ديسمبر 22
7080