我想按在浏览器中键入的日期范围过滤数据,所有其他过滤均有效。
views.py
class BookView(generics.ListAPIView):
queryset = Book.objects.all()
serializer_class = BookSerializers
filter_backends = [filters.SearchFilter]
search_fields = ['title', 'language', 'authors', 'date']
答案 0 :(得分:0)
您需要创建一个新的过滤器:
class StatementItemFilter(filters.FilterSet):
date_between = filters.DateFromToRangeFilter(field_name="MODEL_FIELD_NAME", label="Date (Between)")
class Meta:
model = StatementItem
fields = [
...
"date_between"
]
并在您的视图集中使用
class MODELItemViewSet(viewsets.ReadOnlyModelViewSet):
filter_backends = (DjangoFilterBackend,)
filterset_class = StatementItemFilter
...
将列表['title', 'language', 'authors', 'date']
移至新的过滤器集类