Django - Haystack查询序列化

Alo*_*kin 8 python django serialization json django-haystack

我正在尝试序列化HayStack SearchQuerySet:

from django.core import serializers
serializers.serialize("json", SearchQuerySet().filter(content=request.GET['q']))
Run Code Online (Sandbox Code Playgroud)

但它抛出:

'SearchQuery'对象没有属性'_build_query'

我怎样才能解决这个问题?

Kri*_*waj 7

我遇到过类似的问题.使用这样的东西,它工作:

serializers.serialize("json", [x.object for x in queryset]


hur*_*urk 7

我不建议每个结果调用'object',因为它会触及数据库并击败搜索性能的目的.相反,请考虑调用可与json转储一起使用的get_stored_fields方法:

import simplejson as json
data = map(lambda x: x.get_stored_fields(), search_result)
json.dumps(data)
Run Code Online (Sandbox Code Playgroud)