Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.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 Forms_Django Views - Fatal编程技术网

使用多字段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

我最近对我正在开发的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="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))