1

私はqueryset以下のように持っています

entries = [<Entry: Entry got issues>, <Entry: Entry Latest entry>, <Entry: Entry now tested>]

object上記のクエリセットのそれぞれには、次のようentriesなクエリセットがあります

for entry in entries:
    print entry.tags.all()

結果

[<Tag: published>, <Tag: tags>, <Tag: needs>, <Tag: be>, <Tag: issues>, <Tag: to>]
[<Tag: abcd>]
[<Tag: abcd>, <Tag: nothing>]

したがって、結果の上記の3つのクエリセットを以下のように単一のクエリセットにマージしたい

[<Tag: published>, <Tag: tags>, <Tag: needs>, <Tag: be>, <Tag: issues>, <Tag: to>]
 <Tag: abcd>, <Tag: abcd>, <Tag: nothing> ]

merge/combineでは、djangoで上記の1つに3つのクエリセットを作成する方法は?

4

1 に答える 1

2

演算子を使用し|ます。つまりqueryset = queryset1 | queryset2 | queryset3 、演算子を使用し&て交差点を見つけることもできます。返されるすべてのクエリセットが同じオブジェクト、つまりタグであることを確認する必要があります。

基本的にやりたいことは

queryset = entries[0].tags.all()
for entry in entries[1:]:
    queryset = queryset | entry.tags.all()
于 2013-09-03T10:04:37.647 に答える