block slot_no if asset not blade

Added constraint: slot_no cant be set when asset is NOT blade.
Fixed tests and added new ones.
Updated get_object_form_data so that returns only data where value is not None.