Siento que me falta algo obvio aquí. Tengo un formulario de Django con un TimeField en él. Quiero poder permitir momentos como "10:30 AM", pero no consigo que acepten ese formato de entrada o que utilicen el formato "% P" (que tiene un note attached diciendo que es una "extensión propia", pero no lo hace) t dice de dónde viene). Aquí está la esencia de mi código de formulario:Django Forms: Validación de TimeField
calendar_widget = forms.widgets.DateInput(attrs={'class': 'date-pick'}, format='%m/%d/%Y')
time_widget = forms.widgets.TimeInput(attrs={'class': 'time-pick'})
valid_time_formats = ['%P', '%H:%M%A', '%H:%M %A', '%H:%M%a', '%H:%M %a']
class EventForm(forms.ModelForm):
start_date = forms.DateField(widget=calendar_widget)
start_time = forms.TimeField(required=False, widget=time_widget, help_text='ex: 10:30AM', input_formats=valid_time_formats)
end_date = forms.DateField(required=False, widget=calendar_widget)
end_time = forms.TimeField(required=False, widget=time_widget, help_text='ex: 10:30AM', input_formats=valid_time_formats)
description = forms.CharField(widget=forms.Textarea)
Cada vez que presento "10:30 AM", me sale un error de validación. El modelo subyacente tiene dos campos, event_start y event_end, sin campos de tiempo, por lo que no creo que el problema esté ahí. ¿Qué cosa tan estúpida me estoy perdiendo?
No podrá usar '% P 'de esa manera, estoy bastante seguro de que es solo para salida, y no se puede usar para analizar (es decir, como una máscara de entrada). ¿Qué 'ValidationError' obtienes exactamente? –
Solo "Ingrese una hora válida". – Tom