Python 如何在Django Rest框架请求查询中通过非空字符串进行过滤?

Python 如何在Django Rest框架请求查询中通过非空字符串进行过滤?,python,django,django-rest-framework,Python,Django,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

根据标题,给定一个具有如下字符串字段的模型:

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()
http://localhost:5000/my_api?name=foo
这允许我像这样过滤api:

class MyModelApi(ListAPIView):
    serializer_class = MyModelSerializer
    model = MyModel    
    filterset_fields = ('name')
    filter_backends = (DjangoFilterBackend)
    querystring = MyModel.objects.all()
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=

你试过这个问题的答案了吗?下面是一个使用自定义筛选器解决此问题的示例。您是否尝试过该问题的答案?下面是一个使用自定义筛选器解决此问题的示例