OdooRPC是一個(gè)Python包文留,提供了一種通過(guò)RPC訪問(wèn)Odoo服務(wù)的簡(jiǎn)便方法系羞。
主要功能:
1. 使用類似于服務(wù)器端API的API訪問(wèn)所有數(shù)據(jù)模型方法(甚至是瀏覽)柑肴;
2. 使用模型方法命名參數(shù)灼芭;
3. 自動(dòng)發(fā)送用戶上下文废膘,為國(guó)際化提供支持
4. 瀏覽記錄竹海;
5. 執(zhí)行工作流;
6. 管理數(shù)據(jù)庫(kù)丐黄;
7. 下載報(bào)表斋配;
8. JSON-RPC協(xié)議(支持SSL)
要使用OdooRPC,首先我們要在服務(wù)器上安裝OdooRPC服務(wù)灌闺。
執(zhí)行命令如下:
pip install OdooRPC
使用rpc的代碼如下:
import odoorpc
# Prepare the connection to the server
odoo = odoorpc.ODOO('localhost', port=8069)
# Check available databases
print(odoo.db.list())
# Login
odoo.login('db_name', 'user', 'passwd')
# Current user
user = odoo.env.user
print(user.name)? ? ? ? ? ? # name of the user connected
print(user.company_id.name) # the name of its company
# Simple 'raw' query
user_data = odoo.execute('res.users', 'read', [user.id])
print(user_data)
# Use all methods of a model
if 'sale.order' in odoo.env:
? ? Order = odoo.env['sale.order']
? ? order_ids = Order.search([])
? ? for order in Order.browse(order_ids):
? ? ? ? print(order.name)
? ? ? ? products = [line.product_id.name for line in order.order_line]
? ? ? ? print(products)
# Update data through a record
user.name = "Brian Jones"
支持的Odoo服務(wù)版本:
OdooRPC已經(jīng)支持在 Odoo 8.0, 9.0, 10.0 和11.0等版本上使用. 它應(yīng)該也支持在Odooo的后續(xù)版本中使用艰争,如果Odoo保持它的API穩(wěn)定的話。
支持的Python版本:
OdooRPC 支持Python 2.7, 3.4, 3.5 和 3.6等桂对。