You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Odoo 10中通过ORM方法获取选择字段的键值列表

嘿,这个需求在Odoo开发里挺常见的,要拿到selection字段的键值对其实很简单,给你分享两种靠谱的实现方式:

方法一:直接访问字段的selection属性

这是最直接的方式,通过模型的字段对象直接获取定义好的选择项列表,再转成字典:

# 获取calling_devices模型的device_type字段选择项
device_type_options = dict(self.env['calling_devices']._fields['device_type'].selection)

执行后得到的device_type_options就是你想要的格式:{'desk': 'Desk', 'mobile': 'Mobile', 'home': 'Home', 'others': 'Others'}。

方法二:使用fields_get方法

如果你需要同时获取字段的其他元数据(比如字段标签、数据类型等),可以用fields_get方法,它会返回字段的完整信息,从中提取选择项即可:

# 获取指定字段的元数据
fields_metadata = self.env['calling_devices'].fields_get(allfields=['device_type'])
# 从元数据中提取选择项并转成字典
device_type_options = dict(fields_metadata['device_type']['selection'])

两种方法在Odoo 10里都完全适用,你可以根据实际场景灵活选择。

内容的提问来源于stack exchange,提问作者user341143

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:23:38