使用xmlrpc连接操作odoo

使用xmlrpc.client库连接到Odoo是一种常用的方式,尤其是在需要从外部系统操作Odoo(例如,读取数据、创建记录等)时。以下是使用xmlrpc.client连接到Odoo的具体步骤,以及一些常用方法的示例。

步骤1:导入xmlrpc.client

python 复制代码
import xmlrpc.client

步骤2:设置连接信息

你需要提供Odoo服务器的URL、数据库名称、用户名和密码。

python 复制代码
url = "http://localhost:8069"
db = "odoo_db"
username = "admin"
password = "admin"

步骤3:获取通用登录接口(common)的代理对象

python 复制代码
common = xmlrpc.client.ServerProxy('{}/xmlrpc/2/common'.format(url))

步骤4:认证

使用用户名和密码进行认证,获取用户的UID。这是后续操作的关键。

python 复制代码
uid = common.authenticate(db, username, password, {})

步骤5:获取对象(models)的代理对象

python 复制代码
models = xmlrpc.client.ServerProxy('{}/xmlrpc/2/object'.format(url))

方法示例:

下面是一些使用xmlrpc.client操作Odoo的方法示例。

1. 检查版本

获取Odoo服务器的版本信息。

python 复制代码
version = common.version()
print(version)
2. 创建记录

向Odoo中添加一条新记录。

python 复制代码
id = models.execute_kw(db, uid, password,
    'res.partner', 'create',
    [{
        'name': "New Partner",
    }])
print(id)
3. 读取记录

读取特定ID的记录的信息。

python 复制代码
records = models.execute_kw(db, uid, password,
    'res.partner', 'read',
    [[id]], {'fields': ['name', 'country_id', 'comment']})
print(records)
4. 搜索记录

根据条件搜索记录。

python 复制代码
ids = models.execute_kw(db, uid, password,
    'res.partner', 'search',
    [[['is_company', '=', True], ['customer', '=', True]]],
    {'limit': 1})
print(ids)
5. 更新记录

更新一条记录的信息。

python 复制代码
models.execute_kw(db, uid, password, 'res.partner', 'write', [[id], {
    'name': "Updated Partner"
}])
6. 删除记录

删除一条记录。

python 复制代码
models.execute_kw(db, uid, password, 'res.partner', 'unlink', [[id]])
相关推荐
闻道且行之1 小时前
TurboOCR:基于PP-OCRv6的极速Windows离线OCR工具,深度解析3.4GB依赖背后的技术架构
c++·人工智能·python·qt·机器学习·ocr
许彰午2 小时前
95_Python内存管理与垃圾回收
开发语言·python
骄阳如火3 小时前
Python 性能深度剖析:从“被诟病的慢”到“Rust 重塑”的拐点
python
满怀冰雪3 小时前
03-第一个 Paddle 程序:Tensor 创建、计算与设备管理
人工智能·python·paddle
CClaris4 小时前
大模型量化从0到1(九):用 llama.cpp 把模型转成 GGUF 并跑本地推理
人工智能·pytorch·python·深度学习·llama
学编程的小虎4 小时前
SenseVoice微调
人工智能·python·自然语言处理
诸葛说抛光4 小时前
国内大型汽车改装展览会定展 佛山改装 佛山汽车赛事
python·汽车
chouchuang4 小时前
day-030-综合练习-笔记管理器
开发语言·笔记·python
乖巧的妹子4 小时前
Python基础核心知识点详解:内置函数、运算符、字符串方法、数据结构与类型转换
python
幸福清风5 小时前
Python 完美处理Excel合并单元格:拆分填充+自动合并
python·excel·合并单元格·拆分单元格