帮助

0

Best way to create one2many records in backend

Avatar
Odoo learner

Hi guys, I want to know the correct way to create one2many records which will trigger all the onchange and calculate properly, specifically on the accounting side

1. use create() function

2. use new() function

self.invoice_line_ids += self.env['account.move.line'].new({
'partner_id': self.partner_id,
'account_id': suggestions['account_id'],
'currency_id': self.currency_id.id,
'price_unit': suggestions['price_unit'],
'tax_ids': [],
})

3. use Command object

out_invoice = self.env['account.move'].create({
'move_type': 'out_invoice',
'date': '2016-01-01',
'invoice_date': '2016-01-01',
'partner_id': self.partner_a.id,
'currency_id': self.currency_data['currency'].id,
'invoice_line_ids': [Command.create({
'product_id': product_a.id,
'price_unit': 300,
'tax_ids': [],
})],
})


1备注
形象
丢弃