如何腌制SqlAlchemy BinaryExpression对象

时间:2018-07-20 13:50:41

标签: python django sqlalchemy pickle dill

我想使用pickle或dill腌制SqlAlchemy BinaryExpression对象,以便稍后检索它以更新我的缓存(dogpile.cache)。使用泡菜,在每个过程中我都会遇到不同的错误,这些错误没有共同之处。但是莳萝我得到下面的错误。 ProjectElement对象(或错误中更正的Project对象)是Django模型。是否可以腌制这个BinaryExpression对象,我看到一个对象应该具有__getstate____setstate__方法才能被腌制和取消腌制。我该如何在我的用例中实现它?或者有更好的解决方案来解决这个问题。

这是我的代码:

binary = ProjectElement.project_id == 16 and  ProjectElement.project_element_id== 399
with open('/home/mustafasencer/Documents/redis.txt', 'wb') as file:
    dill.dump(binary, file)`

错误回溯:

sqlalchemy.exc.InvalidRequestError: Class <class 'cerebro_data.models.Project'> does not have a mapped column named '__getstate__'

0 个答案:

没有答案