Вы можете сделать что - то вроде следующего кода , чтобы создать новый курсор и использовать из 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 ...')