Django - Haystack 查询序列化
Posted
技术标签:
【中文标题】Django - Haystack 查询序列化【英文标题】:Django - Haystack Query Serialization 【发布时间】: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”
我该如何解决这个问题?
【问题讨论】:
【参考方案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]
【讨论】:
以上是关于Django - Haystack 查询序列化的主要内容,如果未能解决你的问题,请参考以下文章
愚公系列2022年01月 Django商城项目 26-搜索引擎功能实现
使用 Django 的 ORM 和 Django Rest Framework 序列化嵌套关系的查询集的正确方法?