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

时间:2017-10-04 10:43:59

标签: openerp odoo-9 odoo-10 odoo-view

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

我希望代替这些复选框,必须显示一个下拉列表,以便用户只能分配到一个组,即用户只能位于AB之一, CD组。

我该怎么做?

3 个答案:

答案 0 :(得分:3)

首先通过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>
......
......

多数民众赞成。

更新:

清单 .py

中添加类别
....
....
'category':'ABCD',
....
....

并从视图中选择它进入组表单视图中的应用程序。 enter image description here

答案 1 :(得分:3)

我发现了一些可以清除下拉方式以及如何制作复选框的内容。这是通过代码而不是来自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实现这一目标的方法。

答案 2 :(得分:1)

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

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

require('./app/routes.js')(app, passport);     
mongoose.connect(configDB.url); // connect to our database
    var schema = mongoose.Schema;
    mongoose.model('practice', new schema({ Name: String, Role: String, Org: String}),'practice');
    var practice = mongoose.model('practice');
    practice.find({}, function(err, data) { console.log(err, data); });

我希望这能帮到你!