Python:无法 pickle '_io.BufferedRandom' 对象 [Django] [Cacheops]

问题描述 投票:0回答:0

我正在设置 django cacheops,我遇到了一个关于酸洗我的数据的问题。

我的模型有这种结构:

class A(models.Model):
   # ...

class B(models.Model):
   link_1 = models.ForeignkeyField(A)
   link_2 = models.ForeignkeyField(A)
   link_3 = models.ForeignkeyField(A)

   def get_link(self):
       # function does some checks here, decides if link_1, link_2 or link_3 should be loaded
       link_to_load = "link_1" # fixed for simplicity
       return getattr(self, link_to_load, None)

当我使用 cacheops 时,我得到这个错误:

cannot pickle '_io.BufferedRandom' object
。当我使用
A.object.get(pk=some_pk)
而不是
getattr
时也会发生这种情况。

有人提示,如何更改我的代码以使其不会发生?

python django caching pickle
© www.soinside.com 2019 - 2024. All rights reserved.