У меня есть форма, в которой я пытаюсь добавить чистый метод, чтобы убедиться, что введенные даты совпадают. Форма проходит мимо, даже если даты не совпадают. Я полагаю, что проблема в моем чистом методе, но так как он не передает ошибку, я не уверен, что является причиной проблемы. Буду признателен за любую помощь в этом.
class LessonForm(forms.ModelForm):
lesson_instrument = forms.ChoiceField(choices=instrument_list, widget=forms.Select(attrs={'class' : 'form-control', 'required' : 'True'}))
lesson_datetime_start = forms.DateTimeField(input_formats=['%Y-%m-%d %I:%M %p'], widget=forms.DateTimeInput(attrs={'class': 'form-control', 'placeholder':'YYYY-MM-DD Hour:Minute am/pm'}), validators=[validate_date1])
lesson_datetime_end = forms.DateTimeField(input_formats=['%Y-%m-%d %I:%M %p'], required=False, widget=forms.DateTimeInput(attrs={'class': 'form-control', 'placeholder':'YYYY-MM-DD Hour:Minute am/pm'}), validators=[validate_date2])
lesson_weekly = forms.BooleanField(required=False)
class Meta:
model = Lesson
fields = ('lesson_instrument', 'lesson_datetime_start', 'lesson_datetime_end', 'lesson_weekly')
def clean(self):
cleaned_data = super().clean()
lesson_datetime_start = self.cleaned_data.get("lesson_datetime_start")
lesson_datetime_end = self.cleaned_data.get("lesson_datetime_end")
if lesson_datetime_start.date() != lesson_datetime_end.date() and lesson_datetime_start >= lesson_datetime_end:
raise ValidationError('Dates have to be the same and end time must be later than start time')
return cleaned_data