How to run Odoo ORM methods in the python console?

2019-02-24 00:32发布

问题:

I would like to use ORM methods such as browse or search in the python console.

$pwd
/opt/odoo/

$python
>>> import openerp
>>> product_obj = pool.get('product.product)
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
NameError: name 'pool' is not defined

How could I achieve that?

回答1:

In version 9 you can start an odoo shell with odoo.py shell -d <database>, thanks to this commit

In version 8 the functionality is not builtin but you can use this script, this module, or OERPLib



回答2:

Pool needs to be connected with a database, so you need to instantiate a pool first, for exemple:

pool = openerp.modules.registry.RegistryManager.get("test")

This should return a pool connected to the 'test' database