2017-04-24 17 views
0

を作成する前に、私は、すぐにラインとしてフォームビュー内のmany2one木、クリック可能な内部で、ボタンを作成しようとしているOdoo 10
を使用しているツリービュークリッカブル上のボタン初期化されます。Odoo 10 - 記録

問題は、私は、レコードを保存するまで、行、クライアント側のIDが「one2many_v_id_xxx」タイプであるということです。したがって、ListViewウィジェットは、レコードを作成するときにを無効にしてとボタンを設定します。
結果:レコードが作成された後にのみ、ボタンをクリックできます。

私はおよそのonchangeメソッド内の行を作成し、いくつかの記事を読んだが、私はフォームビューにリンクされているモデルについての依存関係を持っているので、私は実際のレコードの前に行を作成することはできません。創造。

誰にも解決策がありますか?

ありがとうございます。


のPy:

@api.multi 
@api.onchange('product_template_id') 
def product_template_id_change(self): 

    < some operations > 

    self.create(vals) # It gives me a validation error about 'order_id', a many2one relation with the model linked to the form view 

    self.update(vals) 

ビュー:

<button type="object" name="open_grid_wizard" 
     string="Open product variant grid" 
     icon="fa-table" 
     class="oe_stat_button"/> 
+0

この問題の解決方法をお探しですか?私は今これに直面しており、それに対処する方法を見つけることができないようです... –

答えて

0

あなたは、これが参考になる場合、私は知らないが、なぜあなたは、このようにフィールド隠さない:

<field name="id" invisible" /> 
<field name="your_field" attrs="{'invisible': [('id', '=', False]}"/> 

とモデルクラスの内側には、ボタンから呼び出されるthodは、saveメソッドを呼び出すことを確認します。

ユーザーがボタンをクリックしたとき、レコードにはidの値があるため、フィールドが表示されます。