gpt4 book ai didi

python - 对象请求的 Django 动态过滤器数

转载 作者:行者123 更新时间:2023-11-28 17:54:52 24 4
gpt4 key购买 nike

我怎样才能做这样的事情:

products_list = Product.objects.all()

for key in keywords:
products_list = products_list.filter(name__icontains=q)

这行不通。

最佳答案

您正在使用多个 AND 语句过滤列表,并且您需要 OR 语句。尝试这样的事情:

from django.db.models import Q
products_list = Product.objects.all()
orq = None
for key in keywords:
thisq = Q(name__icontains=q)
if orq:
orq = thisq | orq
else:
orq = thisq
products_list = products_list.filter(orq)

您可能会清理上面的代码,但我们的想法是创建一个名为 orq 的变量,它基本上是 Q(name__icontains='prod1') | Q(name__icontains='prod2').

关于python - 对象请求的 Django 动态过滤器数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2011752/

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