6
我正在使用DRF(Django Rest Framework)。如何在Django Rest Framework上使用普通Filter和SearchFilter?
我宣佈了一個ModelViewSet,現在我想添加過濾器。
class GoodsViewSet(viewsets.ModelViewSet):
class Filter(FilterSet):
class Meta:
model = m.Goods
filter_class = Filter
filter_backends = (SearchFilter, Filter)
search_fields = ['name',]
queryset = m.Goods.objects.all()
serializer_class = s.GoodsSerializer
看見我宣佈一個過濾器的子類,並應用它:
filter_class = Filter
它工作在開始之前,我想補充線:
filter_backends = (SearchFilter, Filter)
search_fields = ['name',]
這是由告知the doc。
現在搜索過濾器被應用,而正常filter_class
被跳過。
一句話,他們不能一起工作。
如何解決此問題?
將您的filter_class重命名爲其他類名?恩。 filter_class = My_Custom_Filter – Kishan
@soupboy謝謝,不是那個問題。我已經制定了解決方案並作爲答案發布。我只想在這裏發佈答案。 –
@AlfredHuang你有關於這個問題的博客嗎?我希望看到完整的實施。我仍然很難弄清楚。你的解決方案很有趣。 – Sarit