Estoy trabajando en una aplicación que está en Django
. Estoy tratando de almacenar alguna estructura de datos e.g. dictionary
en MySQL
db. Entonces uso el módulo Python Pickle
. Funciona bien cuando lo almaceno en db usando pickle.dumps(some_structure)
. Mi campo DB es longblob
modo es binary
.Deseleccionar clave de carga no válida Error, '{'
Pero cuando tengo acceso al campo de objeto modelo de Django:
obj = someModel.get(pk=1)
some_structure = obj.field
content = pickle.loads(some_structure)
Plantea siguiente error:
UnpicklingError: invalid load key, '{'.
Por favor, ayúdame, he tratado de Google, pero does'nt me ayude , también hay uno similar Question pero no está relacionado con mi problema ya que estoy almacenando en db.
Le sugiero que conservar sus datos para almacenarlos en la base de datos no es la forma correcta de hacerlo. Debe almacenar sus datos en la base de datos correctamente, transformando sus datos en tablas y campos. –
Los datos están en 'jerarquía compleja (diccionarios anidados)'. No puedo guardarlo en forma de tablas y campos. Los datos son el resultado de algún proceso que luego necesito procesar en django en otra 'Vista'. –
Entonces JSON es probablemente un formato mejor que pickle. JSON es multiplataforma, mientras que pickle es específico de la implementación. –