使用多字段Django进行搜索(构建对象列表)
我最近对我正在开发的Django应用程序进行了一次简单的搜索。搜索将筛选以下模型的索引:使用多字段Django进行搜索(构建对象列表),django,search,django-models,django-forms,django-views,Django,Search,Django Models,Django Forms,Django Views,我最近对我正在开发的Django应用程序进行了一次简单的搜索。搜索将筛选以下模型的索引: class Task(models.Model): task_name = models.CharField(max_length=140) task_description = models.TextField() category = models.CharField(max_length=140) 具体实施如下: 视图: 模板/HTML: <div class="co
class Task(models.Model):
task_name = models.CharField(max_length=140)
task_description = models.TextField()
category = models.CharField(max_length=140)
具体实施如下:
视图:
模板/HTML:
<div class="col-lg-2">
<form action="/tasks" method="get">
<input type="text" name="q">
<input type="submit" value="Search">
</form>
</div>
我想在这里捕捉重叠。而不是使用+use| 如果希望获得任务名称、任务描述和类别不包含的列表q(q区分大小写) 如果您希望获得任务名称、任务描述和类别不包含的列表q(q不区分大小写) 如果您想获得任务名称、任务描述和类别包含的列表q(q区分大小写) 如果希望获得任务名称、任务描述和类别包含的列表q(q不区分大小写) |用于或
&用于和,而不是使用+use| 如果希望获得任务名称、任务描述和类别不包含的列表q(q区分大小写) 如果您希望获得任务名称、任务描述和类别不包含的列表q(q不区分大小写) 如果您想获得任务名称、任务描述和类别包含的列表q(q区分大小写) 如果希望获得任务名称、任务描述和类别包含的列表q(q不区分大小写) |用于或
&用于和多么好的答案!谢谢多好的回答啊!谢谢
<div class="col-lg-2">
<form action="/tasks" method="get">
<input type="text" name="q">
<input type="submit" value="Search">
</form>
</div>
tasks_list = task.objects.filter(~Q(task_name__contains=q) + ~Q(task_description__contains=q) + ~Q(category__contains=q))
tasks_list = Task.objects.filter(~Q(task_name__contains=q) | ~Q(task_description__contains=q) | ~Q(category__contains=q))
tasks_list = Task.objects.filter(~Q(task_name__icontains=q) | ~Q(task_description__icontains=q) | ~Q(category__icontains=q))
tasks_list = Task.objects.filter(Q(task_name__contains=q) | Q(task_description__contains=q) | Q(category__contains=q))
tasks_list = Task.objects.filter(Q(task_name__icontains=q) | Q(task_description__icontains=q) | Q(category__icontains=q))