如何解决django过滤器获取视图内的过滤器字段值
我有这样的过滤器
class SummaryFilter(django_filters.FilterSet):
start = django_filters.DateFilter(
field_name="date_modified",lookup_expr="gte",)
end = django_filters.DateFilter(
field_name="date_modified",lookup_expr="lte",)
在我看来,我正在这样做
class GetRiskyUsersSummary(generics.ListAPIView):
model = Summary
queryset = Summary.objects.all()
serializer_class = serializers.ModelSerializer
filter_backends = (filters.DjangoFilterBackend,)
filterset_class = SummaryFilter
def list(self,request,*args,**kwargs):
queryset = self.filter_queryset(self.get_queryset())
response = {}
********doing some stuff here and return in response*******
**** for doing these i need the cleaned start and end date as date objects like below but couldnt figure out the option for this in the library****
self.filter.cleaned_data.get('start')
self.filter.cleaned_data.get('end')
return Response({"response": response})
如何在视图中获取这些数据?
解决方法
您可以通过初始化来检索过滤器数据
def list(self,request,*args,**kwargs):
myfilter = self.filterset_class(request.GET,queryset=self.get_queryset())
if myfilter.is_valid():
queryset = myfilter.qs
myfilter.form.cleaned_data.get('start')
myfilter.form.cleaned_data.get('end')
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。