gpt4 book ai didi

python - 当 AND 在一起时,Q 对象 django 返回空的 QuerySet

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

在 django shell 中,当我过滤单个 Q 对象时,它返回正确的 QuerySet。但是当相同的Q对象AND在一起时,它返回一个空的QuerySet。

File.objects.filter(Q(relatedjira__content__icontains='1112'))
<QuerySet [<File: abc.txt>]>

File.objects.filter(Q(relatedjira__content__icontains='5368'))
<QuerySet [<File: abc.txt>]>

但是当我用 AND 组合 Q 对象时,它返回空集:

File.objects.filter(Q(relatedjira__content__icontains='1112') & Q(relatedjira__content__icontains='5368'))
<QuerySet[]>

最佳答案

对于组合查询,它只会返回具有单个 latedjira 的文件,其中内容同时包含 '1112''5368' >.

如果您将 Q 对象放在单独的过滤器中,那么它将返回具有 latedjira 且内容包含 '1112' 的文件以及另一个内容包含 '5368'

latedjira
File.objects.filter(Q(relatedjira__content__icontains='1112')).filter(Q(relatedjira__content__icontains='5368'))
<QuerySet [<File: abc.txt>]>

关于python - 当 AND 在一起时,Q 对象 django 返回空的 QuerySet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52748415/

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