我正在处理Django
中的应用程序。我试图在e.g. dictionary
db中存储一些数据结构MySQL
。所以我使用Python Pickle
模块。当我使用pickle.dumps(some_structure)
将其存储在db中时,它工作正常。我的数据库字段为longblob
模式为binary
。
但是当我在django中访问模型对象的字段时:
obj = someModel.get(pk=1)
some_structure = obj.field
content = pickle.loads(some_structure)
引发以下错误:
UnpicklingError: invalid load key, '{'.
请帮助我,我试过谷歌,但它没有帮助我,也有一个类似的Question但它与我的问题无关,因为我存储在数据库中。
答案 0 :(得分:15)
我遇到了这个错误,我发现这是因为我试图破坏原本没有被腌制的东西。
更具体地说,我存储了一个没有腌制它的Python字典,导致了最初的字符{
。
因此,要解决这个问题,你应该尝试:
答案 1 :(得分:1)
损坏的文件可能会导致此问题。用新的腌制对象替换旧的腌制对象。它为我工作。