odoo 外部API

本文档详细介绍了如何连接到Odoo服务器,包括配置和登录步骤。接着,重点讲解了如何通过XML-RPC调用Odoo模型的方法,如搜索、读取、创建、更新和删除记录,以及检查与测试API的正确性。示例涵盖了分页、记录数量、读取特定字段等实用技巧。
摘要由CSDN通过智能技术生成

目录

1、连接

1.1 配置

1.2 登录

2、调用方法

2.1 数据集

2.1.1 分页

2.2 记录数量

2.3 读取数据

2.4 列出记录字段

2.5 搜索并读取

2.6 创建记录

2.7 更新记录

2.8 删除记录

2.9 检查与测试

2.9.1 模型

2.9.2 字段


Odoo通常通过模块进行内部扩展,但是它的许多特性和所有数据也可以从外部获得,用于外部分析或与各种工具集成。Models API的一部分很容易通过XML-RPC获得,并且可以从多种语言访问。

1、连接

1.1 配置

如果您已经安装了Odoo服务器,那么您可以使用它的参数:

url = <insert server URL>
db = <insert database name>
username = 'admin'
password = <insert password for your admin user (default: admin)>
注:对于Odoo Online实例(<domain>.Odoo.com),用户是在没有本地密码的情况下创建的(作为用户,您是通过Odoo Online身份验证系统登录的,而不是通过实例本身登录的)。要在Odoo联机实例上使用XML-RPC,需要在要使用的用户帐户上设置密码

连接示例:

import xmlrpc.client
info = xmlrpc.client.ServerProxy('https://demo.odoo.com/start').start()
url, db, username, password = \
    info['host'], info['database'], info['user'], info['password']

1.2 登录

Odoo要求API的用户在查询大多数数据之前进行身份验证。

xmlrpc/2/common端点提供不需要身份验证的元调用,例如身份验证本身或获取版本信息。要在尝试进行身份验证之前验证连接信息是否正确,最简单的调用是询问服务器的版本。

common = xmlrpc.client.ServerProxy('{}/xmlrpc/2/common'.format(url))
common.version()
{
    "server_version": "8.0",
    "server_version_info": [8, 0, 0, "final", 0],
    "server_serie": "8.0",
    "protocol_version": 1,
}

身份验证本身是通过authenticate函数完成的,并返回一个用户标识符(uid),用于已验证的调用而不是登录。

uid = common.authenticate(db, username, password, {})

2、调用方法

调用方法第二个端点是xmlrpc/2/object,用于通过execute-kw RPC函数调用odoo模型的方法。需要以下参数:

要使用的数据库,字符串

用户id(通过身份验证检索),一个整数

用户的密码,字符串

模型名,字符串

方法名,字符串

按位置传递的参数数组/列表

要通过关键字传递的参数的映射/dict(可选)

models = xmlrpc.client.ServerProxy('{}/xmlrpc/2/object'.format(url))
models.execute_kw(db, uid, password,
    'res.partner', 'check_access_rights'
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值