如何在Django中使用带有Haystack的annotate()?

时间:2012-12-03 01:54:14

标签: django django-haystack

我有一个用hatstack搜索的函数,我需要得到haystack在数组中得到的每个对象的注释,我有这个:

def search(request):
if 'q' in request.GET and request.GET['q']:
    q = request.GET['q']
    results = SearchQuerySet().auto_query(q)
    things = []
    for r in results:
        things.append(r.object)
    return render_to_response('resultados.html',
        {'things': things, 'query': q}, context_instance=RequestContext(request))

我如何在结果中附加每个对象的注释数量?

如果我添加注释,调试器会抛出我:SearchQuerySet没有'注释'属性

1 个答案:

答案 0 :(得分:3)

SearchQuerySet不是您熟悉的ORM查询集。它只是模仿它。对于搜索引擎,注释也没有意义。您需要将已准备好的数据放入索引。

使用ORM进行另一次查询。