def clean_attribute_value(cleaned_data, obj): value = cleaned_data['value'] attribute = cleaned_data['option'] success, valid_value = validate_attribute_value(attribute, value, obj) if not success: raise ValidationError(attribute.error_message) return valid_value