odoo 應用管理 xmlrpc 方式操作

前置準備: 導入openerplib[1]

# 連接信息
ACCOUNT = {
    "HOST": "localhost",
    "PORT": 8069,
    "DB": "demo",
    "USER": "admin"
    "PASS": "123456",
}
  • 連接/登錄
def acc_connection(acc):
    connection = openerplib.get_connection(hostname=acc['HOST'],
                                           port=acc['PORT'],
                                           database=acc['DB'],
                                           login=acc['USER'],
                                           password=acc['PASS'])
    connection.check_login()
    return connection
  • 更新應用列表
conn = acc_connection(ACCOUNT)
module = conn.get_model('ir.module.module')
module.update_list()  # 刷新本地應用列表
# 參考 odoo/addons/base/module/module.py 597行
  • 安裝應用(安裝之前一定要先執(zhí)行更新應用列表的方法)
conn = acc_connection(ACCOUNT)
module = conn.get_model('ir.module.module')
model = module.search([('name', '=', 'xxxx')])  # xxxx 為需要安裝的模塊文件夾名稱
module.button_immediate_install(model[0])  # 安裝應用
# 參考 odoo/addons/base/module/module.py 403行
  • 更新模塊
conn = acc_connection(ACCOUNT)
module = conn.get_model('ir.module.module')
model = module.search([('name', '=', 'xxxx')])  # xxxx 為需要升級的模塊文件夾名稱
module.button_immediate_upgrade(model[0])  # 更新應用
# 參考 odoo/addons/base/module/module.py 522行
  • 卸載模塊
conn = acc_connection(ACCOUNT)
module = conn.get_model('ir.module.module')
model = module.search([('name', '=', 'xxxx')])  # xxxx 為需要卸載的模塊文件夾名稱
module.button_immediate_uninstall(model[0])  # 卸載應用
# 參考 odoo/addons/base/module/module.py 501行

  1. openerplib 是odoo官方社區(qū)給出的xmlrpc方式連接odoo的包參考github庫 ?

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容