/ / Desde Odoo 8, acceso a los datos de un objeto OpenERP en otra base de datos - python, orm, odoo-8, openerp-7

Desde Odoo 8, acceso a datos de un objeto OpenERP en otra base de datos: python, orm, odoo-8, openerp-7

Tenemos una instancia de OpenERP 7 y estoy trabajando.con una instancia de Odoo 8. Las dos instancias funcionan por separado, pero quiero hacer un módulo Odoo para poder conectarse a una tabla / objeto específico en OpenERP y recuperar datos cuando sea necesario. Es como una migración, pero no será la única vez que deba ejecutarse, por lo tanto, tiene que ser un código ejecutable.

¿Es posible? ¿Podría darme un código de ejemplo sobre la solución?

Respuestas

0 para la respuesta № 1

Si se siente cómodo con sql, puede crear una conexión a la base de datos en un objeto de cursor separado y ejecutar consultas. Puedes usar la biblioteca de python psycopg2

Hay algunas bibliotecas de clientes odoo como Erppeek que se puede utilizar para interactuar con odoo a través de unentorno de pitón. Así que podría ser ideal. Puede crear una conexión a su otra instancia de OpenERP creando un objeto cliente erppeek y luego puede consultar la base de datos utilizando una sintaxis que es bastante similar a odoo nativo. Aquí hay un ejemplo.

import erppeek
import logging

_logger = logging.getLogger(__name__)

password = "your_password"
server = "http://localhost:8069"
user = "your_user"
db = "your_db"

Client = erppeek.Client(server,db,user,password)
if Client:
Client.login(user,password)
partners = Client.browse([])
for partner in partners:
_logger.info("FOUND PARTNER: {}".format(partner.name))

Ahora tiene acceso a los registros y puede hacer lo que desee con ellos en su instancia de odoo.

También hay xmlrpc que es lo que se usa en la biblioteca erppeek. La documentación sobre xmlrpc / jsonrpc se puede encontrar en el sitio web de Odoo.