以前只知道利用xmlrpc 处理odoo的数据。最近根据一朋友的问题接触到odooRPC,简单测试了一下,比xmlrpc 好使多了。
下面只是一个简单查询代码测试案例
# -*- encoding: utf-8 -*-
import xmlrpclib
username = 'demo' # 用户登录名
pwd = 'demo' # 用户的登录密码,测试时请换成自己的密码
dbname = 'odoo10' # 数据库帐套名,测试时请换成自己的帐套名
# 第一步,取得uid
common = xmlrpclib.ServerProxy('http://localhost:8069/xmlrpc/2/common')
# print sock_common.version()
uid = common.authenticate(dbname, username, pwd, {})
# replace localhost with the address of the server
sock = xmlrpclib.ServerProxy('http://localhost:8069/xmlrpc/object')
# 调用sale.order对象的search_read方法查看所有数据
res = sock.execute(dbname, uid, pwd, 'sale.order', 'search_read', [])
print res
import odoorpc
odoo = odoorpc.ODOO('localhost', port='8069')
odoo.login(dbname, username, pwd)
order = odoo.env['sale.order']
doamin = [] # doamin 写条件语句
data = order.search_read(doamin) # 在这里我们就可以试试能否调用模型中自定义的方法呢? 理论上是可行的
print data