Marco
Marco

Reputation: 335

How to use annotate() with Haystack in Django?

I have a function that search with hatstack, and I need to get the comments of each object that haystack get in the array, I have this:

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))

How I append to the results the number of comments that each object have?

If I add annotate, debugger throw me: SearchQuerySet has not 'annotate' attribute

Upvotes: 2

Views: 845

Answers (1)

Krzysztof Szularz
Krzysztof Szularz

Reputation: 5249

SearchQuerySet isn't the ORM query set you're familiar with. It only imitates it. Annotations doesn't make sense with search engines as well. You need to put already prepared data to an index.

Just make another query using ORM.

Upvotes: 3

Related Questions