2017-01-16 12 views
0

Я использую домен, чтобы отфильтровать поле many2one в другом поле.Odoo 8 - Domain filter

Пример: У меня есть поле продукта и вы хотите отфильтровать поле моего серийного номера на продукте (для отображения только серийных номеров выбранного типа продукта).

Так что мой код:

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

рабочий Этот код, но когда не выбран ни один продукт, я хотел бы, чтобы отобразить все серийные номера, имеющиеся. Но с моим кодом в моем списке нет серийного номера.

Я не могу найти синтаксис для проверки, если продукт не выбран, я отображаю весь серийный номер, иначе я показываю только серийные номера, соответствующие выбранному продукту.

ответ

1

Я нашел решение с питона кодом:

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 ...