Odoo is the world's easiest all-in-one management software. It includes hundreds of business apps:
CRM | e-Commerce | Accounting | Inventory | PoS | Project management | MRP | etc.
In the New API framework starting from Odoo 8, we have seen some decorator like api.one, api.multi which replace the cr, uid in prior version.
For example, in odoo 7, we need to locate a record using:
In odoo 8, we can just decorate the method using @api.one
So my question is that,
1. Is there any improvement other than grammar while using the new API framework? For instance, performance improvement?
2. If we don't use cr, how can we commit a transaction while using api.one/api.multi?
From the document, it seems that while the operation self.name = value is executed, the field in SQL will be updated and transaction will also be committed.
Thanks a lot in advance.
when we use api decorators, the cr, uid, ids, context fields are not used when describing a method but these values are available in environment variables.
self._cr or self.env.cr
self._uid or self.env.uid
self._context or self.env.context
I am not sure about the performance improvement.
to use commit, self.env.cr.commit()
Please try to give a substantial answer. If you wanted to comment on the question or answer, just use the commenting tool. Please remember that you can always revise your answers - no need to answer the same question twice. Also, please don't forget to vote - it really helps to select the best questions and answers!
About This Community
This platform is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.Register
Odoo Training Center
Access to our E-learning platform and experience all Odoo Apps through learning videos, exercises and Quizz.Test it now
|Asked: 3/26/15, 2:30 AM|
|Seen: 837 times|
|Last updated: 3/30/15, 1:54 AM|