gpt4 book ai didi

python - 如何将多个查询集组合/合并为单个查询集 django

转载 作者:行者123 更新时间:2023-12-01 05:37:25 31 4
gpt4 key购买 nike

我有一个查询集如下

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

上述查询集中条目中的每个对象都将具有如下查询集

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

所以我想将结果中的上述三个查询集合并到一个查询集中,如下所示

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

那么如何在 django 中合并/组合三个查询集到上面的一个查询集中呢?

最佳答案

使用|运算符。即queryset = queryset1 |查询集2 |查询集3但您也可以使用 & 运算符来查找交集。您必须确保返回的所有查询集都是相同的对象,即标签。

你想做的基本上是

queryset = entries[0].tags.all()
for entry in entries[1:]:
queryset = queryset | entry.tags.all()

关于python - 如何将多个查询集组合/合并为单个查询集 django,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18589360/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com