I have a ModelForm with some extra fields. I have the clean() function of this form overwritten but can't access these extra fields in the cleaned_data . When validating the form below, on the second last line data.get('startDate') returns None as it did not find startDate in the cleaned data.

## Model ## class Reservation(models.Model): groupName = models.CharField(max_length=64) email = models.EmailField() comments = models.TextField(null=True, blank=True) ## Form ### class ReservationForm(forms.ModelForm): startDate = forms.DateField(widget=forms.SelectDateWidget) endDate = forms.DateField(widget=forms.SelectDateWidget) class Meta: model = Reservation fields = [ 'groupName', 'email', 'startDate', 'endDate', 'comments' ] def clean_startDate(self): data = self.cleaned_data['startDate'] if data < datetime.date.today(): raise forms.ValidationError('Pick a date in the future') return data def clean(self): data = super().clean() if data.get('startDate') > data.get('endDate') raise forms.ValidationError('End date must be after start date.')