与django合作,我有以下表格
class ReportDataForm(forms.Form):
start_date = forms.DateField(input_formats=settings.DATE_INPUT_FORMATS)
end_date = forms.DateField(input_formats=settings.DATE_INPUT_FORMATS)
我的日期字段具有以下格式:“mm / dd / yy”与DATE_INPUT_FORMATS之一匹配
这些日期时间字段是通过GET请求提交的,用于查询。 现在,我的观点看起来很难看:
if request.method == 'GET':
form = ReportDataForm(request.GET)
context={'form':form}
if form.is_valid():
start_date = datetime.strptime("%m/%d/%y")
end_date = datetime.strptime("%m/%d/%y")
report = Mymodel.objects.filter(date__gte=start_date)\
.filter(date__lte=end_date)
有没有办法避免这种转换或者在验证器中的某个地方进行转换,因为它与视图逻辑无关?
答案 0 :(得分:1)
它已经为你完成了。只需访问form.cleaned_data['start_date']
等。