code: def change_and_save(obj, update_only_changed_fields=False, save_kwargs=None, **changed_fields):
      
      from chamber.models import SmartModel
  
      change(obj, **changed_fields)
      if update_only_changed_fields and not isinstance(obj, SmartModel):
          raise TypeError('update_only_changed_fields can be used only with SmartModel')
  
      save_kwargs = save_kwargs if save_kwargs is not None else {}
      if update_only_changed_fields:
          save_kwargs['update_only_changed_fields'] = True
  
      obj.save(**save_kwargs)
      return obj
docs: Changes a given `changed_fields` on object, saves it and returns changed object.