使用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@bdoubleuDjango 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它是正确的,所以在返回、打印或其他任何东西之前不会对其进行评估。