1

このタスクを完了する必要があり、Odoo v8 でそれを行う方法を考えています。

たとえば、次の 3 つのフィールドがあるとします。

columns = {
    'field1' : fields.char("My char"),
    'field2' : fields.integer("My integer"),
    'field3' : fields.selection([("tuple1", 'Tuple 1'),("tuple2", 'Tuple 2'), ("tuple3", 'Tuple 3')], "My tuple collection"),

これで、これらのフィールドが Odoo の Web サイトのフォームにレンダリングされます。これについては、コントローラー、デコレーターなどを使用して今カバーしています。

私のジレンマは、ブール値のチェックマークでフォームに表示されるフィールドをアクティブにするにはどうすればよいですか?

これら 3 つのフィールドのうち 2 つをアクティブにすると、アクティブになった 2 つのフィールドがフォームに表示されるとします。

自分で説明してるのか分からない…

まだ疑問がある場合は、私に質問してください...

何か案は?

前もって感謝します...

4

1 に答える 1

2

ブール フィールドを定義できます。

selected = fields.Boolean(search='_search_dummy', store=False)

この方法では、db に格納されません。空の _search_dummy メソッドを定義するだけです

次に、それをビューに入れ、他のフィールドを定義するときに:

<field name="selected"/>
<field name="field1" attrs="{'invisible':[('selected','=',False)]}"/>  
<field name="field2" attrs="{'invisible':[('selected','=',True)]}"/>

field1 は選択したフィールドをチェックした場合にのみ表示され、field2 は選択したフィールドのチェックを外した場合にのみ表示されます。

于 2016-05-23T12:45:37.807 に答える