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 have a local Odoo v8 installed (installed from source, with demo data) and have installed the interactive shell module from:
Both the local install and the interactive shell module seem to work as they should: I can start the odoo server and use the application through the browser, and I can query the database through the interactive shell. I start both, of course, with the same database argument as such:
./odoo.py -d mmg
./odoo.py shell -d mmg
Changes I make through the webinterface are then reflected in the shell environment. If I change, for instance, the administrator's display name, this change is reflected when I later query the model in the shell environment:
However, creating or updating any records via the interactive shell don't seem to be persisted to the database. Here are the different ways I have tried:
>>> self.name = 'Administrator'
>>> u = self.env['res.users'].search([('login', '=', 'admin')])
>>> u.name = 'Administrator'
and from within a function with the @api.one decorator. None of them seem to persist to the database.
What is wrong?
Thanks in advance!
Ok. Found it myself in Daniel Reis' book Odoo Development Essentials (great book, btw):
In a shell session, your data manipulation won't be made effective in the database until you use self.env.cr.commit().
You can find (and buy) the book here:
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: 4/23/15, 3:13 AM|
|Seen: 2135 times|
|Last updated: 2/11/17, 1:17 PM|