1

Haystack には少し問題があります。

私は検索フォームを持っていて、それが送信されたら、3 つのモデルで調査を行うので、単純に以下を使用します。

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

ここで、PlayList のモデルからオブジェクトを filter() する必要があります。しかし、もしそうなら:

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

filter() は 3 つのモデルに使用されます (ドキュメントに記載されています)。

だから私はそれをすると思います:

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

しかし、1 つの変数だけを返したいのですが、結果 1 と結果 2 を結合する方法がわかりません。

誰にもアイデアがありますか?

ありがとう。

4

1 に答える 1

2

クエリセットは美化されたリストになる傾向があるため、これを行う簡単な方法は次のとおりです。

results = list(result1)
results.extend(list(result2))
于 2010-11-20T16:07:53.310 に答える