Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.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搜索PostgreSQL并传递null或空字符串值_Django_Postgresql_Django Queryset - Fatal编程技术网

使用Django搜索PostgreSQL并传递null或空字符串值

使用Django搜索PostgreSQL并传递null或空字符串值,django,postgresql,django-queryset,Django,Postgresql,Django Queryset,我正在搜索博士后,如下所示: search_term = self.request.GET.get('search') queryset = Package.objects.filter(package_description__search=search_term) 如果搜索项为None或空字符串,如何使其返回所有对象 我已尝试将搜索项设置为None或空字符串 Django仅在您尝试获取查询项时执行查询。因此,您可以简单地添加if并组合查询 search_term = self.reques

我正在搜索博士后,如下所示:

search_term = self.request.GET.get('search')
queryset = Package.objects.filter(package_description__search=search_term)
如果搜索项为
None
或空字符串,如何使其返回所有对象


我已尝试将搜索项设置为
None
或空字符串

Django仅在您尝试获取查询项时执行查询。因此,您可以简单地添加
if
并组合查询

search_term = self.request.GET.get('search')
queryset = Package.objects.all()
if search_term:
    queryset = queryset.filter(package_description__search=search_term)

链接到doc thank@bdoubleu

Django execute query,仅当您尝试获取查询项时才执行查询。因此,您可以简单地添加
if
并组合查询

search_term = self.request.GET.get('search')
queryset = Package.objects.all()
if search_term:
    queryset = queryset.filter(package_description__search=search_term)

链接到doc thank@bdoubleu

如果
其他
语句可以做到这一点,也许你只需要用一个查询就可以了,所以我无法传递任何查询忽略查询?据我所知,没有!等待其他答案,同时,我正在处理它
如果
其他
语句可以,也许你只需要用一个查询就可以了,所以我无法传递任何查询忽略该查询?据我所知,没有!等待其他答案,同时,我正在处理第二行的“all()”将导致查询运行。在完成“if”之后使用all()block@ChrisCurvey它是正确的,因此在返回或打印它之前不会对其进行计算。第二行的“all()”将导致查询运行。在完成“if”之后使用all()block@ChrisCurvey它是正确的,所以在返回、打印或其他任何东西之前不会对其进行评估。