Python 取消勾选错误无效的加载键&x27;{';
我正在开发一个位于Python 取消勾选错误无效的加载键&x27;{';,python,mysql,pickle,Python,Mysql,Pickle,我正在开发一个位于Django中的应用程序。我试图在MySQLdb中存储一些数据结构,例如字典。因此我使用PythonPickle模块。当我使用Pickle.dumps(一些\u结构)将其存储在db中时,效果很好。我的数据库字段是longblob模式是binary 但是当我在django中访问模型对象字段时: obj = someModel.get(pk=1) some_structure = obj.field content = pickle.loads(some_structure)
Django
中的应用程序。我试图在MySQL
db中存储一些数据结构,例如字典。因此我使用PythonPickle
模块。当我使用Pickle.dumps(一些\u结构)将其存储在db中时,效果很好
。我的数据库字段是longblob
模式是binary
但是当我在django中访问模型对象字段时:
obj = someModel.get(pk=1)
some_structure = obj.field
content = pickle.loads(some_structure)
它会引发以下错误:
UnpicklingError: invalid load key, '{'.
请帮帮我,我尝试过谷歌,但它对我没有帮助,还有一个类似的,但与我的问题无关,因为我存储在数据库中。我遇到了这个错误,我发现这是因为我试图解开一些原本没有腌制过的东西
更具体地说,我存储了一个Python dict而没有对其进行酸洗,从而生成了初始字符{
因此,要解决此问题,您应该尝试以下任一方法:
- 从数据存储检索时不取消勾选字符串,或
- 在插入数据存储之前验证对象是否已被pickle
一个损坏的文件可能会导致此问题。用新的pickle对象替换旧的pickle对象。它对我很有效。我建议将数据酸洗以存储在数据库中不是正确的方法。您应该将数据正确存储在数据库中,将数据转换为表和字段。数据位于复杂的hie中rarchy(嵌套字典)
。我不能以表格和字段的形式保存它。数据是某个过程的结果,我以后需要在另一个视图上的django中处理这些数据。
。那么JSON可能是比pickle更好的格式。JSON是跨平台的,而pickle是特定于实现的。无论如何,pickle数据是无法过滤的。您需要什么模型字段类型您使用?另一种可能发生这种情况的方法:在没有进行正确的LFS克隆的情况下尝试取消勾选Git LFS文件。