如果您想通过网络服务来完成,请查看OpenERP XML-RPC Web 服务 http://doc.openerp.com/v6.0/developer/6_22_XML-RPC_web_services/index.html
与 OpenERP Web 服务配合使用的示例代码:
import xmlrpclib
username = 'admin' #the user
pwd = 'admin' #the password of the user
dbname = 'test' #the database
# OpenERP Common login Service proxy object
sock_common = xmlrpclib.ServerProxy ('http://localhost:8069/xmlrpc/common')
uid = sock_common.login(dbname, username, pwd)
#replace localhost with the address of the server
# OpenERP Object manipulation service
sock = xmlrpclib.ServerProxy('http://localhost:8069/xmlrpc/object')
partner = {
'name': 'Fabien Pinckaers',
'lang': 'fr_FR',
}
#calling remote ORM create method to create a record
partner_id = sock.execute(dbname, uid, pwd, 'res.partner', 'create', partner)
更清楚的是,您还可以使用OpenERP 客户端库 http://pypi.python.org/pypi/openerp-client-lib/1.0.3带有客户端库的示例代码:
import openerplib
connection = openerplib.get_connection(hostname="localhost", database="test", \
login="admin", password="admin")
user_model = connection.get_model("res.users")
ids = user_model.search([("login", "=", "admin")])
user_info = user_model.read(ids[0], ["name"])
print user_info["name"]
您会看到两种方式都很好,但是当您使用客户端库时,代码更少且易于理解,而使用 xmlrpc 代理是您将处理的较低级别的调用
希望对你有帮助。