Невозможно выполнить обработку исключений в формах Django
Я создал ModelForm, в которой пользователь должен ввести дату и время. Я хочу убедиться, что время вводится в правильном формате, поэтому я написал функцию convert_to_time, чтобы она могла поднять ValidationError, когда формат времени неправильный, но это не работает. Похоже, что часть Exception не работает. То есть элемент управления никогда не попадает внутрь части Exception.
Здесь находится ModelForm
import datetime
class BookingForm(forms.ModelForm):
class Meta:
model = Booking
fields = ['check_in_date', 'check_in_time', 'check_out_time',
'person', 'no_of_rooms']
def clean(self):
cleaned_data = super().clean()
normal_check_in = cleaned_data.get("check_in_time")
str_check_in = str(normal_check_in)
format = '%H:%M:%S'
try:
print("vukwqa") #This gets printed in the terminal.
datetime.datetime.strptime(str_check_in, format).time()
except Exception:
print("srhni") #This does not get printed in the terminal.
raise ValidationError(
_('%(value)s Wrong time format entered.'),
code='Wrong time format entered.',
params={'value': str_check_in},
)
Невозможно ли сделать обработку исключений в forms.py, потому что если бы это была обычная программа на python, то управление идет внутри части исключения. Есть ли другой способ сделать это?
Может кто-нибудь помочь?