不能腌制rest_framework.request.Request对象

时间:2018-04-19 23:20:13

标签: python celery pickle

我将请求对象(从rest_framework)传递到芹菜任务队列时出错:

EncodeError: Can't pickle <type 'function'>: attribute lookup __builtin__.function failed

我已检查过它的请求对象是否会产生问题。我该怎么办呢?

1 个答案:

答案 0 :(得分:1)

请求对象对pickle没有意义。它表示连接到Web服务器并等待响应的客户端现在 - 您无法将其序列化,将其写入任务队列(或文件,或其他) ,并希望以后可以从另一台机器回复它。

如果您需要保存请求的特定属性(如HTTP标头,URI或POST参数),则需要从请求中提取这些属性,并将其与请求的其余部分分开序列化。