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.
I had heard somewhere that one of the features planned for the orm in v8 was that you wouldn't need to pass cursor and user id with every call to a model's method, i.e:
self.pool.get('some.model').browse(cr, uid, id_list) # Old way
self.pool.get('some.model').browse(id_list) # New way.
Assuming that this is still going to be implemented (maybe it has been already?) I would like to make sure it works in all contexts. Specifically, I am making custom http-endpoints as part of a module. At least in the v7 way of doing things, I find models from request.registry instead of self.pool. If I call model methods in this way:
will it work?
I am currently developing on a pull from the master branch of Odoo from 2014-08-05, and calling browse() with just a list of id's throws a TypeError (expects at least 3 arguments). Can I expect the new way to work in future (or am I maybe doing it wrong)?
Yes, the traditional way has been modified in V8 with new api.
For instance, the statements::
model = self.pool.get(MODEL)
ids = model.search(cr, uid, DOMAIN, context=context)
for rec in model.browse(cr, uid, ids, context=context):
model.write(cr, uid, ids, VALUES, context=context)
may also be written as::
env = Env(cr, uid, context) # cr, uid, context wrapped in env
recs = env[MODEL] # retrieve an instance of MODEL
recs = recs.search(DOMAIN) # search returns a recordset
for rec in recs: # iterate over the records
recs.write(VALUES) # update all records in recs
Methods written in the "traditional" style are automatically decorated,
following some heuristics based on parameter names.
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: 8/8/14, 7:34 AM|
|Seen: 9343 times|
|Last updated: 3/16/15, 8:10 AM|