如何在 Odoo 中为组创建下拉列表而不是复选框?
How to make dropdown for groups instead of checkboxes in Odoo?
我在 Odoo v10 中通过 GUI 创建了一些组 A
、B
、C
、D
。这些组在用户页面上显示为复选框。
我希望必须显示下拉列表而不是这些复选框,以便用户只能分配给一个组,即用户只能在 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 完成此操作的方法。
我在 Odoo v10 中通过 GUI 创建了一些组 A
、B
、C
、D
。这些组在用户页面上显示为复选框。
我希望必须显示下拉列表而不是这些复选框,以便用户只能分配给一个组,即用户只能在 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 完成此操作的方法。