我将 DjangoFilterBackend 用于所有字段:
class EntitiesViewSet(viewsets.ModelViewSet):
queryset = Entity.objects.all()
serializer_class = EntitiesSerializer
pagination_class = StandardResultsSetPagination
filter_backends = (DjangoFilterBackend,)
filter_fields = '__all__'
它非常适合通过具有固定值或 bool 值的一个或多个字段的 url 进行查询。
像这样:
http://localhost:8000/api/persons/?news_by_email=True
http://localhost:8000/api/persons/?issuer=SSP-SC
但我还需要过滤具有空值的字段,但它不起作用。
我试过:
/persons/?parent=null
/persons/?parent=Null
/persons/?parent=NULL
/persons/?parent=
/persons/?parent__isnull
在同样的简化过程中有什么建议吗?
任何需要扩展或新 View 集的建议?
最佳答案
filter_fields = {'parent': ['isnull']}
这将添加一个带有“isnull”的过滤器,您可以进行如下查询:
/persons/?parent__isnull=true
关于django-rest-framework - DjangoFilterBackend 字段 = null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48319957/