Я работаю над приложением, которое находится в Django
. Я пытаюсь сохранить некоторую структуру данных e.g. dictionary
в MySQL
db. Поэтому я использую модуль Python Pickle
. Он отлично работает, когда я храню его в db, используя pickle.dumps(some_structure)
. Мое поле БД longblob
режим: binary
.UnpicklingError недопустимый ключ загрузки, '{'
Но когда я получить доступ к области модели объекта в Джанго:
obj = someModel.get(pk=1)
some_structure = obj.field
content = pickle.loads(some_structure)
он поднимает следующие ошибки:
UnpicklingError: invalid load key, '{'.
Пожалуйста, помогите мне, я попробовал Google, но does'nt помочь мне , также есть один подобный Question, но он не связан с моей проблемой, так как я храню в db.
Я бы предположил, что травление ваших данных, чтобы сохранить его в базе данных, - неправильный способ обойти это. Вы должны правильно хранить свои данные в базе данных, преобразовывая свои данные в таблицы и поля. –
Данные находятся в 'сложной иерархии (вложенных словарях)'. Я не могу сохранить его в виде таблиц и полей. Данные являются результатом некоторого процесса, который позже мне нужно обработать в django на другом 'View'. –
Тогда JSON, вероятно, лучше, чем рассол. JSON является кросс-платформенным, тогда как рассол является специфичным для реализации. –