2015-07-02 28 views
6

Nel dizionario del contesto odoo è congelato in modo che nessuno possa aggiornarlo, per quella soluzione è disponibile anche chiamando il metodo utilizzando with_context.Utilizzo di with_context in super-chiamata si trasforma in una chiamata infinita in odoo

ctx = self.env.context.copy() 
ctx.update({'additional_parameter' : value}) 
self.with_context(ctx).methodname() 

ma quando si utilizza lo stesso schema per chiamare il metodo super, il risultato si trasforma in chiamata infinita.

ctx = self.env.context.copy() 
ctx.update({'additional_parameter' : value}) 
super(product_product, self).with_context(ctx).create(vals) 

Qualsiasi aiuto sarà molto apprezzato.

+0

In quale metodo si sta scrivendo questo codice? e hai qualche codice relativo a additional_parameter nel methodname? –

+0

puoi farlo in qualsiasi metodo in qualsiasi modello in cui chiami super metodo usando with_context si trasformerà in una chiamata infinita e otterrai il messaggio di massima profondità di ricorsione .... !!!!! –

risposta

14

Credo che si dovrebbe provare qualcosa di simile alla rispettiva linea:

super(product_product, self.with_context(ctx)).create(vals)