如何在 Django 中的多个列上搜索多个关键字
Posted
技术标签:
【中文标题】如何在 Django 中的多个列上搜索多个关键字【英文标题】:How to search for multiple keywords over multiple columns in Django 【发布时间】:2017-09-18 20:32:31 【问题描述】:我希望能够像这样输入字符串列表:
["searchterm1", "searchterm2", "searchtermN"]
并且从数据库中输出所有行,其中"searchterm1"
匹配其中一列或 "searchterm2"
匹配其中一列等等。
有办法吗?
【问题讨论】:
你可以使用djangoQ进行查询或查询 【参考方案1】: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)
reference1 reference2
【讨论】:
以上是关于如何在 Django 中的多个列上搜索多个关键字的主要内容,如果未能解决你的问题,请参考以下文章
在 Django 中,正确地制作具有多个类别、多个标签和搜索的查询集?
如何使用 MYSQL 中的连接从多个表中获取多个列并在非空列上显示数据以及在空列上显示 null 或零
如何在 Google Big Query 中的多个列上执行模式功能