def save_existing_objects(self, commit=True):
        self.changed_objects = []
        self.deleted_objects = []
        if not self.initial_forms:
            return []

        saved_instances = []
        forms_to_delete = self.deleted_forms
        for form in self.initial_forms:
            obj = form.instance
            if form in forms_to_delete:
                # If the pk is None, it means that the object can't be
                # deleted again. Possible reason for this is that the
                # object was already deleted from the DB. Refs #14877.
                if obj.pk is None:
                    continue
                self.deleted_objects.append(obj)
                # DIFFERENCE HERE COMPARING TO ORIGINAL \/
                # delete m2m assignment, not whole related object
                getattr(obj, self.m2m.attname).remove(self.instance)
            elif form.has_changed():
                self.changed_objects.append((obj, form.changed_data))
                saved_instances.append(
                    self.save_existing(form, obj, commit=commit)
                )
                if not commit:
                    self.saved_forms.append(form)
        return saved_instances
Comparing to original `save_existing_objects`, delete relation, not
dataset/ETHPy150Open allegro/ralph/src/ralph/admin/m2m.py/BaseInlineM2MFormset.save_existing_objects