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)

私の日付フィールドの形式は次のとおりです。DATE_INPUT_FORMATSの1つと一致する「mm/dd/yy」

これらの日時フィールドは、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 に答える