Как подключиться к другой базе данных в PostgreSQL с ORM в Odoo?

У меня есть база данных в PostgreSQL, и я хочу использовать ее через Odoo ORM, а затем реализовать RPC-материал. Я не знаю, как подключиться к другой базе данных (в PostgreSQL). Я задумался об этом, и я не нашел ясновидящих решений или информации. Может ли кто-нибудь мне рассказать об этом? какие шаги я должен соблюдать? заранее спасибо

python,postgresql,python-2.7,orm,odoo,

2

Ответов: 1


0

Вы можете сделать что - то вроде следующего кода , чтобы создать новый курсор и использовать из OpenERP . модулей . реестр импортирует RegistryManager из openerp import api registry = RegistryManager . get ( 'new_database' ) cr = реестр . cursor () env = api . Окружающая среда ( cr , self . Env . Uid , {}) env [ 'res.users' ]. search ([]) # вы можете запускать методы ORM здесь с новым стилем среды, созданным с помощью этого курсора.

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

Вы также можете использовать эти методы для управления курсором и средой

env

Роль postgres должна обладать правом привилегий в обеих базах данных (текущая база данных и дополнительная).

Примечание . Я не смог обновить реальную базу данных с помощью envметодов переменной и ORM, но ее можно использовать для чтения

Кроме того, tou может создать такой указатель:

with openerp.sql_db.db_connect('postgres').cursor() as cr2:
    cr2.execute('SELEC ...')
python, postgresql, python-2.7, orm, odoo,
Похожие вопросы