small point - would be more readable as
```
rate_type = self.cleaned_data['rate_type']
product_type = self.cleaned_data['product_type'] if rate_type == 'Product' else None
feature_type = self.cleaned_data['feature_type'] if rate_type == 'Feature' else None
```
also generally that logic is weird (only set this variable to anything if this other variable is set to something specific) but assume there's a good reason for that