コンテンツへスキップ
メニュー
この質問にフラグが付けられました
2 返信
30740 ビュー

In Odoo 9:

i need create a field like check boxes:

what is your favorite color?  ☐ Blue  ☐Pink  ☐Yellow <--The user only can choice one favorite color, if the user select  ☐Blue then the  ☐Pink or  ☐Yellow field can not be selected, if the user select  ☐Pink, then  ☐Blue or  ☐Yellow can not be selected....

any idea how to create this type of field and function...

アバター
破棄

Please check the following link for custom module:

https://youtu.be/Xya_fCNr6tw

Thanks & Regards

最善の回答

@Carlos

You could create boolean fields for every color and put those rules in the view definition, like:

from openerp import models, fields, api

class module_example(models.Model):

_name = 'module.example'


blue = fields.Boolean('Blue')

pink = fields.Boolean('Pink')

yellow = fields.Boolean('Yellow')

and in the xml:

<record id="module_example_form" model="ir.ui.view">

<field name="name">myquality list</field>

<field name="model">myquality.myquality</field>

<field name="arch" type="xml">

<form>

<group>

<field name="blue" attrs="{'invisible': [('pink','=',True),('yellow','=',True)]}"/>

<field name="pink" attrs="{'invisible': [('blue','=',True),('yellow','=',True)]}"/>

<field name="yellow" attrs="{'invisible': [('pink','=',True),('blue','=',True)]}"/>

</group>

</form>

</field>

</record>

アバター
破棄
最善の回答

Use Axel's answer. But in the condition, put '|' in front of the condition (for OR).

<field name="blue" attrs="{'invisible':['|',('pink','=',True),('yellow','=',True)]}"/>
<field name="pink" attrs="{'invisible':['|',('blue','=',True),('yellow','=',True)]}"/>
<field name="yellow" attrs="{'invisible':['|',('pink','=',True),('blue','=',True)]}"/>

If you use Axel's answer, it's AND, so it will only disappear when 2 options is selected. OP only wanted 1 selection, and the others disappear, meaning OR command.


Thansk Alex!

アバター
破棄
関連投稿 返信 ビュー 活動
3
3月 20
42609
2
12月 17
16700
0
4月 15
3817
1
3月 15
9372
1
12月 24
1401