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

标签 django postgresql django-queryset

我正在按如下方式搜索 Postgres:

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

如果 search_term 是 None 或空字符串,我如何让它返回所有对象?

我试过将 search_term 设置为 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)

文档链接 querysets-are-lazy感谢@bdoubleu

关于django - 使用 Django 搜索 PostgreSQL 并传递 null 或空字符串值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50309215/

相关文章:

Django AMQP 错误

sql - 连接两个包含 INNER JOINS 的查询

python - Django 在单个查询集中组合外键

python - Django:如何使用values_list属性编写GET查询?

python - 修补 Python 子类中的所有方法

python - 将自定义 SQL 添加到 Django 中的 WHERE 子句中,而不使用 .raw()

django 2 自定义 jwt_get_username_from_payload_handler

postgresql - Postgresql 中的高斯随机分布

PostgreSQL : insert record using trigger

python - Django 多对多过滤器(关系=无或排除,如果有关系= x)