docs: def save(self):
          """
          Attempts to move the nodes using the selected target and
          position.
  
          If an invalid move is attempted, the related error message will
          be added to the form's non-field errors and the error will be
          re-raised. Callers should attempt to catch ``InvalidMove`` to
          redisplay the form with the error, should it occur.
          """
          self.success_count = 0
          for node in self.get_selected_nodes():
              self.move_node(node, self.cleaned_data['target_node'])