gpt4 book ai didi

python - 如何使用 Odoo 中的 ORM 连接到 PostgreSQL 中的另一个不同数据库?

转载 作者:行者123 更新时间:2023-11-29 12:24:42 25 4
gpt4 key购买 nike

我在 PostgreSQL 中有一个数据库,我想通过 Odoo ORM 使用它,然后实现 RPC 东西。我不知道如何连接到另一个数据库(在 PostgreSQL 中)。我用谷歌搜索了这个,但没有找到千里眼的解决方案或信息。有人可以告诉我这件事吗?我应该遵循什么步骤?提前致谢

最佳答案

您可以执行类似于以下代码的操作来创建新游标并使用通过该游标创建的环境。

from openerp.modules.registry import RegistryManager
from openerp import api

registry = RegistryManager.get('new_database')
cr = registry.cursor()
env = api.Environment(cr, self.env.uid, {})
env['res.users'].search([]) # you can run ORM methods here with the new environment

您也可以使用此方法来管理光标和环境

env.reset()         # reset environment
env.cr # pointer to the cr cursor
cr.rollback() # rollback
cr.execute( # execute any SQL query
"UPDATE res_users SET password='new_password' WHERE id=1"
)
cr.commit() # commit cr changes
cr.close() # close cursor

postgres 角色必须对两个数据库(当前数据库和附加数据库)具有正确的权限。

注意:我无法用env变量和ORM方法更新真实数据库,但它可以用于阅读目的

你也可以像这样创建一个游标:

with openerp.sql_db.db_connect('postgres').cursor() as cr2:
cr2.execute('SELEC ...')

关于python - 如何使用 Odoo 中的 ORM 连接到 PostgreSQL 中的另一个不同数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46904444/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com