Tatiana Quizhpe
2017-02-06 15:24:42 UTC
Saludos
Buen dÃa, hay alguna otra forma de agregar datos en un Campo One2Many,
actualmente
lo hago de la siguiente manera [1], el método está dentro de un on_change
ya que necesito
que de acuerdo a como cambia el campo (product ) que es tipo Char, se vaya
actualizando
el Campo (lines) One2Many.
Funciona bien cuando son pocos registros aprox. 50 pero al pasar esta
cantidad demora
en agregar las lÃneas, dependiendo del número de registros, necesito que el
proceso se
realice en menos tiempo. Trabajo con la versión 3.4.
[1]
@fields.depends('product', 'lines')
def on_change_product(self):
res = {}
res['lines'] = {}
if self.lines:
res['lines']['remove'] = [x['id'] for x in self.lines]
if not self.product:
return res
name = self.product+'%'
products = Product.search([('name', 'ilike', name)])
for p in products:
product_line = {
'product': p.id,
'precio_venta':p.list_price,
}
res['lines'].setdefault('add', []).append((0, product_line))
Desde ya gracias.
Buen dÃa, hay alguna otra forma de agregar datos en un Campo One2Many,
actualmente
lo hago de la siguiente manera [1], el método está dentro de un on_change
ya que necesito
que de acuerdo a como cambia el campo (product ) que es tipo Char, se vaya
actualizando
el Campo (lines) One2Many.
Funciona bien cuando son pocos registros aprox. 50 pero al pasar esta
cantidad demora
en agregar las lÃneas, dependiendo del número de registros, necesito que el
proceso se
realice en menos tiempo. Trabajo con la versión 3.4.
[1]
@fields.depends('product', 'lines')
def on_change_product(self):
res = {}
res['lines'] = {}
if self.lines:
res['lines']['remove'] = [x['id'] for x in self.lines]
if not self.product:
return res
name = self.product+'%'
products = Product.search([('name', 'ilike', name)])
for p in products:
product_line = {
'product': p.id,
'precio_venta':p.list_price,
}
res['lines'].setdefault('add', []).append((0, product_line))
Desde ya gracias.