0

与 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)

有没有办法避免这种转换或在验证器中的某个地方进行,因为它与视图逻辑无关?

4

1 回答 1

1

它已经为你完成了。只需访问form.cleaned_data['start_date']等。

于 2013-03-14T15:57:45.527 回答