python - 如何在 Django Rest Framework 请求查询中按非空字符串进行过滤?
问题描述
根据标题,给定一个具有如下字符串字段的模型:
class MyModel(models.Model):
name = models.CharField(null=True, blank=True, max_length=50)
我可以在 Django 测试框架中配置一个带有过滤器的通用 api,如下所示:
class MyModelApi(ListAPIView):
serializer_class = MyModelSerializer
model = MyModel
filterset_fields = ('name')
filter_backends = (DjangoFilterBackend)
querystring = MyModel.objects.all()
这使我可以像这样过滤 api:
http://localhost:5000/my_api?name=foo
我也知道如何配置这样的 api,以便可以使用不同于以下过滤器的过滤器exact
:
http://localhost:5000/my_api?name__iconstains=bar
我想不通的是:如何获取字段不是空列表的MyModel
所有对象?我试过以下没有结果:name
http://localhost:5000/my_api?name__gt=
http://localhost:5000/my_api?name=
解决方案
推荐阅读
- vba - 从 excel 生成 PDF 并在 XChange Viewer 中打开
- shell - 在 Post build 中执行 Shell 脚本并存储输出
- javascript - 如何获取 HTMLElement 的所有相应样式表?
- c# - 我不知道如何让我的班级使用彼此的信息
- python - 通过修改原始列表重新排列列表,将偶数索引值放在前面
- javascript - React.js - 用 Enzyme 模拟点击
- python - 为什么 Thrift 在多个线程请求时会引发 AssertionError?
- sockets - 在没有“SSL_read”的情况下获取Openssl“关闭通知”,有办法吗?
- sql - SQL连接来自同一张表的时间戳差异
- python - 如何基于模型Tensorflow进行预测