Django - Haystack查询序列化
我正在尝试把一个 HayStack 的 SearchQuerySet
转换成可以存储的格式:
from django.core import serializers
serializers.serialize("json", SearchQuerySet().filter(content=request.GET['q']))
但是它报错了:
'SearchQuery' 对象没有 '_build_query' 这个属性
我该怎么解决这个问题呢?
2 个回答
9
我不建议直接通过结果调用“对象”,因为这样会频繁访问数据库,反而影响搜索的性能。你可以考虑使用get_stored_fields这个方法,它可以和json数据一起使用:
import simplejson as json
data = map(lambda x: x.get_stored_fields(), search_result)
json.dumps(data)
7
我之前也遇到过类似的问题。
我用了类似下面的代码,结果成功了:
serializers.serialize("json", [x.object for x in queryset]