我正在使用django_filter和django_rest_framework为我的数据创建休息终点。
我有一个模型,我想通过传递start_date和end_date作为查询参数来过滤。到目前为止,我在DateFilter
模块中找到了DateRangeFilter
和django_filters
个类。但我找不到任何与他们相关的文件。
以下是模型,序列化程序和视图的代码。
class Holiday(models.Model):
holiday_name = models.CharField(max_length=30)
city_name = models.ForeignKey(City)
description = models.CharField(max_length=100)
date = models.DateTimeField()
def __unicode__(self):
return u'%s %s' %(self.holiday_name, self.city_name)
class HolidaySerializer(serializers.ModelSerializer):
class Meta:
model = Holiday
fields = ('holiday_name', 'city_name','description', 'date')
class HolidayFilter(django_filters.FilterSet):
class Meta:
model = Holiday
start_date = django_filters.DateFilter(name="date", lookup_type='gte')
end_date = django_filters.DateFilter(name="date", lookup_type='lte')
fields = ['date']
class HolidayList(generics.ListAPIView):
queryset = Holiday.objects.all()
serializer_class= HolidaySerializer
filter_backends = (filters.DjangoFilterBackend,)
filter_class = HolidayFilter
我可以将start_date和end_date作为参数传递,但它不起作用。我得到了整个查询集。