如何在 Odoo 中为组创建下拉列表而不是复选框?

How to make dropdown for groups instead of checkboxes in Odoo?

我在 Odoo v10 中通过 GUI 创建了一些组 ABCD。这些组在用户页面上显示为复选框。

我希望必须显示下拉列表而不是这些复选框,以便用户只能分配给一个组,即用户只能在 A、[=11= 之一中],C,D 组。

我该怎么做?

您可以覆盖视图并指定小部件。你可以试试:

<field name="field_name" widget="selection"/>

<field name="field_name" widget="many2one"/>

希望对您有所帮助!

首先通过xml创建下面这条记录。

<record model="ir.module.category" id="abcd_category">
    <field name="name">ABCD</field>
</record>

然后使用 category_id 创建您的群组。

<record id="group_a" model="res.groups">
    <field name="name">A</field>
    <field name="category_id" ref="abcd_category"/>
</record>

<record id="group_b" model="res.groups">
    <field name="name">B</field>
    <field name="category_id" ref="abcd_category"/>
</record>
......
......

就是这样。

更新:

manifest.py 中添加类别

....
....
'category':'ABCD',
....
....

和select它从视图到组窗体视图中的应用程序。

我发现了一些内容,可以清楚地说明下拉菜单和复选框的制作方式。这是通过代码而不是来自 GUI 的,因为我仍在寻找解决方案。

因此,当一个类别中的每个组以分层方式继承同一类别中的其他一些组时,就会生成下拉列表。

因此,当我编写以下代码时,会生成复选框。

<record id='group_category' model='ir.module.category'>
   <field name='name'>Category name</field>
</record>

<record id="group_a" model="res.groups">
    <field name="name">A</field>
    <field name="category_id" ref="group_category"/>
</record>

<record id="group_b" model="res.groups">
    <field name="name">B</field>
    <field name="category_id" ref="group_category"/>
</record>

<record id="group_c" model="res.groups">
    <field name="name">C</field>
    <field name="category_id" ref="group_category"/>
</record>

但是当我写了下面的代码,其中一组以分层方式继承另一组时,下拉菜单被创建了

<record id='group_category' model='ir.module.category'>
   <field name='name'>Category name</field>
</record>

<record id="group_a" model="res.groups">
    <field name="name">A</field>
    <field name="category_id" ref="group_category"/>
</record>

<record id="group_b" model="res.groups">
    <field name="name">B</field>
    <field name="category_id" ref="group_category"/>
    <field name="implied_ids" eval="[(4, ref('module_name.group_a'))]"/>
</record>

<record id="group_c" model="res.groups">
    <field name="name">C</field>
    <field name="category_id" ref="group_category"/>
    <field name="implied_ids" eval="[(4, ref('module_name.group_b'))]"/>
</record>

所以,我做的时候就是这样。仍在寻找通过 GUI 完成此操作的方法。