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
|Asked: 3/26/15, 2:30 AM|
|Seen: 765 times|
|Last updated: 3/30/15, 1:54 AM|