'Return cleaned data, including additional filters.'

def clean(self):

    cleaned_data = super(CourseListGetForm, self).clean()
    filter_ = dict()
    for supported_filter in self.supported_filters:
        if (cleaned_data.get(supported_filter.param_name) is not None):
            filter_[supported_filter.field_name] = cleaned_data[supported_filter.param_name]
    cleaned_data['filter_'] = (filter_ or None)
    return cleaned_data
