2017-01-16 5 views
0

ドメインを使用して、別のフィールドのmany2oneフィールドをフィルタリングしています。Odoo 8 - ドメインフィルタ

例:商品フィールドがあり、商品のシリアル番号フィールドをフィルタしたい(選択した商品タイプのシリアル番号のみを表示する)。

だから私のコードは次のとおりです。何の製品が選択されていないとき

<field name="product_id"/> 
<field name="product_lot" domain="[('product_id', 'in', [product_id])]"/> 

このコードの作業は、しかし、私は利用可能なすべてのシリアル番号を表示したいと思います。しかし私のコードでは、私のリストにはシリアルナンバーがありません。

製品が選択されていない場合は、テストする構文を見つけることができません。すべてのシリアル番号が表示されます。そうでなければ、選択した製品と一致するシリアル番号のみが表示されます。 ...

def on_change_product_id(self, cr, uid, ids, product_id, context=None): 
    if product_id: 
     result = { 
      'domain': { 
       'product_lot': [('product_id', 'in', [product_id])], 
      }, 
     } 
    else: 
     result = { 
      'domain': { 
       'product_lot': '', 
      }, 
     } 

    return result 

それは動作しますが、私は単にXMLで同じことを行うことが可能であったと思った:

答えて

1

私はPythonのコードで解決策を見つけました
関連する問題