在使用DatabaseCache时,有没有办法为Django缓存设置不同的pickle版本



由于遗留代码,我正在将数据库缓存从本地机器上传到生产环境。然而,当我使用python 3.9并且生产运行python 3.7时;不支持的pickle协议";使用高速缓存时的错误(ValueError: unsupported pickle protocol: 5)。

有没有办法在我的本地设置pickle版本以匹配该版本?或者有什么方法可以改变它。。。还是我一直在为这个项目安装和使用python 3.7?

来自文档:

默认的pickle协议是-1,这是最高的也是最新的版本该值应当被固定到特定的协议号,因为-1在Python版本之间的含义不同。

python3.7的默认pickle协议为4。python3.9的默认值是5。你可以在这里锁定pickle协议:

CACHES = {
'default': {
'OPTIONS': {
'PICKLE_VERSION': 4,
...
},
...
},
}

最新更新