繁体   English   中英

如何在 django 中结合从循环中获取的两个 QuerySet

[英]how to combine two QuerySet obtain from loop in django

我有两个从 django 循环中获取的 QuerySet 我想合并到一个 QuerySet
这是代码

for m in [1,2]:
        gpu=Gpu.objects.filter(brand=m)
        print(gpu)

结果是

<QuerySet [<Gpu: GIGABYTE AORUS GeForce RTX 3070 8GB>]> 

<QuerySet [<Gpu: MSI Gaming GeForce RTX 3070 8GB>, <Gpu: MSI Suprim GeForce RTX 3080 10GB>, <Gpu: MSI Non-locking Gaming GeForce RTX 3060>]>

但我需要像这样组合在一个查询集中

<QuerySet [<Gpu: GIGABYTE AORUS GeForce RTX 3070 8GB>,<Gpu: MSI Gaming GeForce RTX 3070 8GB>, <Gpu: MSI Suprim GeForce RTX 3080 10GB>, <Gpu: MSI Non-locking Gaming GeForce RTX 3060>]>

filter = None
for m in [1,2]:
    q = Q(brand=m)
    filter = filter | q

gpu=Gpu.objects.filter(filter)

这应该有效:

gpus = Gpu.objects.filter(brand__in=[1, 2])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM