Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Django中的多列上搜索多个关键字_Django_Search_Django Models_Django Queryset - Fatal编程技术网

如何在Django中的多列上搜索多个关键字

如何在Django中的多列上搜索多个关键字,django,search,django-models,django-queryset,Django,Search,Django Models,Django Queryset,我希望能够输入字符串列表,如下所示: [“searchterm1”、“searchterm2”、“searchtermN”] 和从数据库中输出所有行,其中“searchterm1”匹配其中一列,或“searchterm2”匹配其中一列,依此类推 有没有办法做到这一点 from django.db.models import Q def search(request): list_ = ["searchterm1", "searchterm2",

我希望能够输入字符串列表,如下所示:

[“searchterm1”、“searchterm2”、“searchtermN”]

从数据库中输出所有行,其中
“searchterm1”
匹配其中一列,或“searchterm2”匹配其中一列,依此类推

有没有办法做到这一点

from django.db.models import Q

def search(request):

    list_ = ["searchterm1", "searchterm2", "searchtermN"]

    q_object = Q(title__icontains=list[0]) | Q(description__icontains=list[0])

    for item in list_[1:]:
        q_object.add((Q(title__icontains=item) | Q(description__icontains=item)), q_object.connector)

    queryset = Product.objects.filter(q_object)

您可以使用django for或query您可以使用django for或query