2010-11-20 6 views
1

J'ai un petit problème avec Haystack.django haystack et rejoindre SearchResult

J'ai un formulaire de recherche et quand il est submited, je fais une recherche en 3 modèles, donc j'utiliser simplement:

SearchQuerySet().models(Video,User,PlayList).auto_query(query) 

Maintenant je dois filtrer() des objets du modèle de PlayList. mais si je fais:

SearchQuerySet().models(Video,User).auto_query(query).models(PlayList).auto_query(query).filter(
      Q(user=request.user)| 
      Q(user__userprofilepermission__playlist='all')) 

Le filtre() sera utilisé pour les 3 modèles (comme écrit dans la doc).

Je pense donc à faire:

result1 = SearchQuerySet().models(Video,User).auto_query(query) 
result2 = SearchQuerySet().models(PlayList).auto_query(query).filter(
       Q(user=request.user)| 
       Q(user__userprofilepermission__playlist='all')) 

Mais je veux revenir une variable juste, et je ne sais pas comment joindre result1 & result2.

Quelqu'un a une idée?

merci.

Répondre

2

QuerySets ont tendance à être glorifié listes donc un moyen rapide de faire serait la suivante:

results = list(result1) 
results.extend(list(result2)) 
Questions connexes