8

我想导出我从大海捞针搜索视图获得的查询集中的结果。为了做到这一点,我发现最好的方法是异步执行,所以我使用 Celery 和 Rabbitmq 来管理任务并在那里创建文件并遍历所有结果,然后通过电子邮件通知用户该文件已准备好供他们抓取。但是,为了将 QuerySet 传递给 Celery,我需要对其进行序列化。

有没有快速的方法来做到这一点?还是应该复制请求参数并重新搜索?

4

1 回答 1

5

您可以像这样将 Haystack QuerySet 序列化为 JSON:

from django.core import serializers
serializers.serialize("json", [q.object for q in queryset])
于 2011-12-31T07:06:10.387 回答