想象一下,我有一个列表和一个表单按日期过滤此列表。
有没有人有关于如何在表单上执行此过滤器的任何示例?
我在shell中得到了它,但我无法在表单中实现模板。
$ ./manage.py shell
>>> from core.models import Job
>>> import datetime
>>> start_date=datetime.date(2015,8,1)
>>> end_date=datetime.date(2015,9,1)
>>> q=Job.objects.filter(data_job__range=(start_date,end_date))
>>> for i in q: i.nome_job, i.data_job
我尝试views.py
p = Job.objects.all()
q = self.request.GET.get('search_box')
# buscar por job
if q is not None:
p = p.filter(nome_job__icontains=q)
# dmin = datetime.date(2015, 8, 1)
dmin = self.request.GET.get('min_date')
dmax = self.request.GET.get('max_date')
p = p.filter(data_job__lte=dmin,data_job__gte=dmax)
我需要一些东西。
答案 0 :(得分:2)
您必须在之前转换日期:
from datetime import datetime
dmin = self.request.GET.get('min_date')
dmax = self.request.GET.get('max_date')
min_date = datetime.strptime(dmin, "%d/%m/%Y")
max_date = datetime.strptime(dmax, "%d/%m/%Y")
p = p.filter(data_job__gte=min_date,data_job__lte=max_date)