Forzare il ricalcolo dei campi calcolati in odoo
Forzare il ricalcolo dei campi calcolati in odoo può essere necessario in alcuni casi specifici.
A volte anche semplicemente per la quantità di campi da ricalcolare, con realtivi problemi di performance, oppure per esigenze di sviluppo.
Prima della versione 13 il metodo poteva essere questo:
partner_obj = self.env['res.partner'] self.env.add_todo(partner_obj._fields['display_name'], partner_obj.search([])) model.recompute()
Dalla 13 in avanti la sintassi cambia in questo modo:
partner_obj = self.env['res.partner'] self.env.add_to_compute(partner_obj._fields['display_name'], partner_obj.search([]))
Liberamente tradotto da questo articolo in lingua inglese:
https://www.djdc.net.au/blog/odoo-developer-tips-2/post/recalculate-computed-fields-in-odoo-13-2