【问题标题】:Django - Haystack Query SerializationDjango - Haystack 查询序列化
【发布时间】:2011-05-22 05:27:25
【问题描述】:
我正在尝试序列化 HayStack SearchQuerySet:
from django.core import serializers
serializers.serialize("json", SearchQuerySet().filter(content=request.GET['q']))
但它会抛出:
“SearchQuery”对象没有属性“_build_query”
我该如何解决这个问题?
【问题讨论】:
标签:
python
django
json
serialization
django-haystack
【解决方案1】:
我不建议为每个结果调用“对象”,因为它会影响数据库并超出搜索性能的目的。而是考虑调用可与 json 转储一起使用的 get_stored_fields 方法:
import simplejson as json
data = map(lambda x: x.get_stored_fields(), search_result)
json.dumps(data)
【解决方案2】:
我也遇到过类似的问题。
使用了类似的东西并且它起作用了:
serializers.serialize("json", [x.object for x in queryset]