El lunes, 6 de febrero de 2017, 10:48:34 (UTC-5), Sergi Almacellas Abellana 
escribió:
>
> El 06/02/17 a les 16:24, Tatiana Quizhpe ha escrit: 
> > 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. 
> El código lo veo correcto. 
> > 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. 
> ¿Cuanto tiempo es demora mucho? ¿Sabes que es lo que demora? Es decir: 
> ¿tarda en cargar los datos en el cliente o tarda en procesarlo en el 
> servidor? 
>

Tengo mas o menos 6000 productos, al hacer la búsqueda de acuerdo al valor 
ingresado en el campo 
(product) tipo Char y presentar el resultado en el campo (lines) tipo 
One2Many de unos 200 registros 
demora hasta 50 segundos aprox.
Hice un print al final del método [1] y en la linea de comando se presenta 
el resultado en unos 6 segundos
aprox. pero en el cliente se agregan las líneas despues de 40 seg. aprox. 
No se si me equivoco pero pienso
que demora al cargar los datos en el cliente

[1]
        print "Res", res
        return res

  Trabajo con la versión 3.4. 
> ¿Has probado con una versión mas nueva? 
>
> No he utilizado otra version, haré una prueba para verificar 

> > 
> > [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. 
>
>
> -- 
> Sergi Almacellas Abellana 
> www.koolpi.com 
> Twitter: @pokoli_srk 
>

Gracias por la respuesta 

Responder a