Publicidad

miƩrcoles, 18 de marzo de 2015

Solucion Error: NotImplementedError: 'update' not supported on frozendict

Error: NotImplementedError: 'update' not supported on frozendict


    Buenos Dias, lectores del Blog, este error ah sido muy comĆŗn en mi cĆ³digo a la hora de migrar mĆ³dulos de OpenERP 7 hacia Odoo. El error ah ocurrido cuando intento hacer un update a la variable context, ustedes se preguntaran por que no podemos actualizar un simple diccionario, bueno el problema es que Odoo ahora protege la integridad de los diccionarios como Context volviĆ©ndolos Inmutables, como si se tratase de una Tupla, utilizando Frozen Dict.

El Codigo que utlizaba era algo simple como:

context.update({'date_work': invoice.date_invoice})

Al compilar el error:

NotImplementedError: 'update' not supported on frozendict


La soluciĆ³n fue muy simple, convertir el Diccionario Frozen Dict:

context=dict(context)
context.update({'date_work': invoice.date_invoice})

Con esto podemos convertir el Diccionario "Inmutable" a un diccionario comĆŗn y poder continuar con nuestro cĆ³digo.


Espero que les funcione y sea de utilidad.


3 comentarios:

  1. Este comentario ha sido eliminado por el autor.

    ResponderBorrar
  2. Gracias GermƔn, precisamente en esta parte sigo migrando a V8.

    ResponderBorrar
  3. Amigo donde se edita ese codigo, me pase de 7 a 8 y no logro sacar ese error

    ResponderBorrar