Loading django/forms/formsets.py +4 −7 Original line number Diff line number Diff line Loading @@ -254,13 +254,10 @@ class BaseFormSet(object): errors = property(_get_errors) def _should_delete_form(self, form): # The way we lookup the value of the deletion field here takes # more code than we'd like, but the form's cleaned_data will # not exist if the form is invalid. field = form.fields[DELETION_FIELD_NAME] raw_value = form._raw_value(DELETION_FIELD_NAME) should_delete = field.clean(raw_value) return should_delete """ Returns whether or not the form was marked for deletion. """ return form.cleaned_data.get(DELETION_FIELD_NAME, False) def is_valid(self): """ Loading django/forms/models.py +5 −1 Original line number Diff line number Diff line Loading @@ -591,6 +591,10 @@ class BaseModelFormSet(BaseFormSet): return [] saved_instances = [] try: forms_to_delete = self.deleted_forms except AttributeError: forms_to_delete = [] for form in self.initial_forms: pk_name = self._pk_field.name raw_pk_value = form._raw_value(pk_name) Loading @@ -601,7 +605,7 @@ class BaseModelFormSet(BaseFormSet): pk_value = getattr(pk_value, 'pk', pk_value) obj = self._existing_object(pk_value) if self.can_delete and self._should_delete_form(form): if form in forms_to_delete: self.deleted_objects.append(obj) obj.delete() continue Loading Loading
django/forms/formsets.py +4 −7 Original line number Diff line number Diff line Loading @@ -254,13 +254,10 @@ class BaseFormSet(object): errors = property(_get_errors) def _should_delete_form(self, form): # The way we lookup the value of the deletion field here takes # more code than we'd like, but the form's cleaned_data will # not exist if the form is invalid. field = form.fields[DELETION_FIELD_NAME] raw_value = form._raw_value(DELETION_FIELD_NAME) should_delete = field.clean(raw_value) return should_delete """ Returns whether or not the form was marked for deletion. """ return form.cleaned_data.get(DELETION_FIELD_NAME, False) def is_valid(self): """ Loading
django/forms/models.py +5 −1 Original line number Diff line number Diff line Loading @@ -591,6 +591,10 @@ class BaseModelFormSet(BaseFormSet): return [] saved_instances = [] try: forms_to_delete = self.deleted_forms except AttributeError: forms_to_delete = [] for form in self.initial_forms: pk_name = self._pk_field.name raw_pk_value = form._raw_value(pk_name) Loading @@ -601,7 +605,7 @@ class BaseModelFormSet(BaseFormSet): pk_value = getattr(pk_value, 'pk', pk_value) obj = self._existing_object(pk_value) if self.can_delete and self._should_delete_form(form): if form in forms_to_delete: self.deleted_objects.append(obj) obj.delete() continue Loading