Функция обмена для продукта из пакета продуктов в Odoov10
Я применил функцию обмена для пакета продуктов с доменом. В этой функции я хочу, чтобы продукты, относящиеся к пакету продуктов (поле One2may), были доступны в виде формы. Моя функция работает хорошо, и продукт, связанный с продуктом, виден в форме. Для первой строки поля типа on2many onchange, но когда я перехожу во вторую строку, onchange также работает хорошо, но предыдущий продукт строки показывает текущий продукт строки. Это означает, что когда я работаю с текущей строкой, все продукты предыдущих строк рассматриваются как текущие продукты строки. Это показывает те же продукты. Итак, любой может дать мне решение этой проблемы.
Мой код здесь:
Код Python:
class SaleOrderLine(models.Model):
_inherit = "sale.order.line"
@api.onchange('product_id')
def _onchange_product_pack_name(self):
print"A:", self.product_id.product_pack
res = self.product_id.product_pack
print "res:", res
if res:
return {'domain': {'pack_id': [('id', 'in', [v.id for v in res])]}}
products_id = fields.Many2many('product.template', string='Extra products')
pack_id = fields.Many2many('product.pack', string='Pack Products',change_default=True, default=_onchange_product_pack_name)