Функция обмена для продукта из пакета продуктов в 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)

0 ответов

Другие вопросы по тегам