所以我基于通用列表视图制作了一个非常简单的过滤器。我使用“GET”从searchfield / filterfield中检索用户输入。
我想在models.Delivery中的“arrival_date”过滤我的数据,这是一个DateField。所以这个过滤器可以工作,但任何给定的数字都会与“arrival_date”
的内容进行比较我想要做的是验证用户输入,它只能包含数字和字符“ - ”或“/”。除了字符,我还想说查询需要至少四位数作为有效输入。
在常规表单中,我使用“clean_arrival_date”来使用任何验证,但我需要按正确的方向推动应用此列表视图中所需的相同类型的验证...
感谢您的帮助,
凯文
下面; views.py包含使用query_set
的覆盖列表视图 #views.py
"""
Date selector based on ListView
"""
from django.views.generic import ListView
from .models import Delivery
class DeliveryDateListView(ListView):
model = Delivery
template_name = 'data/deliveries_by_date.html
def get_queryset(self):
# Fetch the queryset from the parent get_queryset
queryset = super(DeliveryDateListView, self).get_queryset()
# Get the data GET parameter
date = self.request.GET.get("date")
if date:
# Return a filtered queryset
return queryset.filter(arrival_date__icontains=date)
# Return the base queryset
return queryset
答案 0 :(得分:0)