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

Odoo实现固定选项以复选框形式在视图中显示问题咨询

Odoo固定可选值复选框显示解决方案

你当前的配置存在三处核心问题:未给关联的test.request模型预置可选数据、使用的many2many_tags部件非复选框样式、关联模型未配置显示名称字段。以下提供两种适配不同场景的解决方案:

方案一:直接使用多选Selection字段(推荐,Odoo 15及以上版本适用)

无需额外新建模型,适合选项固定不会频繁变更的场景:

  • Python字段定义,直接在你需要添加该字段的业务模型中添加如下代码:
req = fields.Selection(
    selection=[
        ('t1', 'Test1'),
        ('t2', 'Test2'),
        ('t3', 'Test3'),
        ('t4', 'Test4'),
        ('t5', 'Test5')
    ],
    string='Request',
    selection_multi=True
)
  • XML视图配置,替换原有字段配置:
<field name="req" widget="many2many_checkboxes"/>

配置完成后升级模块即可看到复选框选项。

方案二:保留Many2many关联模型的实现方式

如果你的选项后续需要动态增减,可修正原有配置:

  1. 修正test.request模型定义,配置显示名称规则:
from odoo import models, fields

class TestRequest(models.Model):
    _name = 'test.request'
    _description = 'Request Option'
    # 指定显示名称字段为request,适配你原有定义
    _rec_name = 'request'

    request = fields.Selection(
        [('t1', 'Test1'),
         ('t2', 'Test2'),
         ('t3', 'Test3'),
         ('t4', 'Test4'),
         ('t5', 'Test5')],
        string='Request'
    )
  1. 预置选项数据:在模块的data目录下新建request_option_data.xml文件,写入如下内容:
<odoo>
    <record id="req_opt_t1" model="test.request">
        <field name="request">t1</field>
    </record>
    <record id="req_opt_t2" model="test.request">
        <field name="request">t2</field>
    </record>
    <record id="req_opt_t3" model="test.request">
        <field name="request">t3</field>
    </record>
    <record id="req_opt_t4" model="test.request">
        <field name="request">t4</field>
    </record>
    <record id="req_opt_t5" model="test.request">
        <field name="request">t5</field>
    </record>
</odoo>
  1. 在模块的__manifest__.py文件的data列表中新增数据文件路径:
'data': [
    # 原有其他数据文件
    'data/request_option_data.xml',
],
  1. 修正XML视图的部件配置,替换原有字段配置:
<field name="req" widget="many2many_checkboxes"/>
  1. 升级模块,刷新页面即可正常显示复选框选项。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 06:27:02