我想导出我在查询集中的结果,该查询集是从haystack搜索视图中获取的。为了做到这一点,我发现最好的方法是异步执行,所以我使用Celery和Rabbitmq来管理任务,然后创建文件并迭代所有结果,然后通过电子邮件通知用户该文件已准备好让他们抓住它。 但是,为了传递Celery的QuerySet,我需要序列化它。
有快速的方法吗?或者我应该复制请求参数并重做搜索?
答案 0 :(得分:4)
您可以将Haystack QuerySet序列化为JSON,如下所示:
from django.core import serializers
serializers.serialize("json", [q.object for q in queryset])