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で同じことを行うことが可能であったと思った: