从 Odoo 8 开始,访问另一个数据库中 OpenERP 对象的数据
Posted
技术标签:
【中文标题】从 Odoo 8 开始,访问另一个数据库中 OpenERP 对象的数据【英文标题】:From Odoo 8, access to data of an OpenERP object in another database 【发布时间】:2016-10-21 15:49:17 【问题描述】:我们有一个 OpenERP 7 实例,我正在使用一个 Odoo 8 实例。这两个实例分别工作,但我想做一个 Odoo 模块,以便能够连接到 OpenERP 中的特定表/对象并在需要时检索数据。这就像一个迁移,但它不是唯一一次必须执行的,因此,它必须是一个可执行代码。
有可能吗?你能给我一个关于解决方案的示例代码吗?
【问题讨论】:
【参考方案1】:如果您熟悉 sql,您可以在单独的游标对象上创建到数据库的连接并执行查询。可以使用python库psycopg2
有一些 odoo 客户端库,例如 erppeek,可用于通过 python 环境与 odoo 交互。所以它可能是理想的。您可以通过创建 erppeek 客户端对象来创建与其他 OpenERP 实例的连接,然后您可以使用与本机 odoo 非常相似的语法来查询数据库。这是一个例子。
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))
现在您可以访问这些记录,并且可以在您的 odoo 实例上对它们做任何您想做的事情。
还有 erppeek 库中使用的 xmlrpc。 xmlrpc/jsonrpc 的文档可以在 Odoo 的网站上找到。
【讨论】:
以上是关于从 Odoo 8 开始,访问另一个数据库中 OpenERP 对象的数据的主要内容,如果未能解决你的问题,请参考以下文章
如果第一个 JSON 参数不是“params”,如何从 Odoo 中的 Webhook 访问数据?