gpt4 book ai didi

Django objects.filter 多个过滤器

转载 作者:行者123 更新时间:2023-12-02 07:19:49 24 4
gpt4 key购买 nike

用户可以选择要过滤的字段,我只需要按这些字段进行过滤,但可以有 3 个字段。

用户选择所有三个选项:a、b 和 c

Foo.objects.filter(a=1,b=2,c=3), good

如果用户仅选择 1 个选项或 2 个选项怎么办?

Foo,objects.filter(a=1, b=2, c=not selected)

如何才能仅按选定的选项进行过滤。这来自 View 的帖子,如果未选择,则看起来像这样:

a=1,b=NaN,c=3

所以 b 未被选择,我不想将其包含在我的过滤器中,

Foo.objects.filter(a=1,c=3)

或者我可以设计一个基本上是“全部”选择​​器的过滤器

如上所述:

Foo.objects.filter(a=1,b=%,c=3)

最佳答案

您可以使用关键字参数字典:

filterargs = { 'a': 1, 'b': 2, 'c': 3 }
Foo.objects.filter(**filterargs)

然后只过滤a和b:

filterargs = { 'a': 1, 'b': 2 }

或者a和c:

filterargs = { 'a': 1, 'c': 3}

关于Django objects.filter 多个过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7633532/

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