我正在使用django_filters创建一个过滤器。我想过滤日期范围,但无法正常工作。我的过滤器忽略了我的start_date
和我的end_date
。
这是我的过滤器。py:
class ArticleFilter(django_filters.FilterSet):
date_range = django_filters.DateRangeFilter(field_name='pub_date')
start_date = django_filters.DateTimeFilter(field_name="pub_date", lookup_expr="gt", widget=widgets.DateInput(attrs={"class": "datepicker"}))
end_date = django_filters.DateTimeFilter(field_name="pub_date", lookup_expr="lt", widget=widgets.DateInput(attrs={"class": "datepicker"}))
class Meta:
model = Article
fields = ["Category", "start_date", "end_date"]
ordering = ["-pub_date"]
顺便说一句。 pub_date
是DateTime
对象。
答案 0 :(得分:1)
我猜您只是想拥有一个DateFilter
而不是一个DateTimeFilter
,因为您使用的是DateInput
小部件,所以就这样:
start_date = django_filters.DateFilter(field_name="pub_date", lookup_expr="gt", widget=forms.TextInput(attrs={"class": "datepicker"}))