2013-03-14 4 views
0

работы с Джанго, я ве получил следующий видэлегантный способ для преобразования даты

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

Эти поля datetime передаются через запрос 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) 

Есть ли способ избежать этого преобразования или сделать это где-нибудь в валидатор, так как она не имеет ничего общего с логикой зрения?

ответ

1

Это уже делается для вас. Просто доступ form.cleaned_data['start_date'] и т.д.

+0

Wow! это было быстро, спасибо! – ProfHase85

Смежные вопросы