İçereği Atla
Menü
Bu soru işaretlendi
1 Cevapla
2705 Görünümler

api onchange not working on many2many - odoo 13.

Trying to update sale_line's m2m field when product is changed in form view. It's not working.

@api.onchange("product_id")
def _fetch_mf_ids(self):
    for rec in self:
        rec.mf_ids = [
            (6, 0, [x.id for x in rec.product_id.mf_ids])
        ]

Getting non-stored values for this m2m rec in sale_order_line when I print rec.mf_ids

product.mf.pgm(, )
Avatar
Vazgeç
En İyi Yanıt

1. 

Make sure that the mf_ids field is correctly defined as a Many2many field in both the product.product model and the sale.order.line model.


class SaleOrderLine(models.Model):

    _inherit = 'sale.order.line'

   

    mf_ids = fields.Many2many(

        'product.mf.pgm',

        string="Manufacturing Programs",

    )

   class ProductProduct(models.Model):

    _inherit = 'product.product'

   

    mf_ids = fields.Many2many(

        'product.mf.pgm',

        string="Manufacturing Programs",

    )

Try this:

@api.onchange("product_id")

def _fetch_mf_ids(self):

    for rec in self:

        if rec.product_id:

            mf_ids = rec.product_id.mf_ids

            rec.mf_ids = [(6, 0, mf_ids.ids)]


Hope it helps

Avatar
Vazgeç
İlgili Gönderiler Cevaplar Görünümler Aktivite
5
Ara 22
5401
1
Şub 21
3643
2
Mar 20
5062
0
Şub 19
3518
2
Şub 23
4007