summaryrefslogtreecommitdiff
path: root/django/forms
diff options
context:
space:
mode:
authorLuke Plant <L.Plant.98@cantab.net>2011-02-21 14:32:12 +0000
committerLuke Plant <L.Plant.98@cantab.net>2011-02-21 14:32:12 +0000
commitc326ec48d834eb8128ac20a37cb647fdfa769ae6 (patch)
treed62de3477b885c6c9c0dd7c19c86d1a44ee36ee5 /django/forms
parent4df0e5ff8468916497ce9f4baad769787bff419a (diff)
[1.2.X] Fixed #14099 - BaseModelFormSet should use _should_delete_form
Thanks to kenth for the report and patch. Backport of [15612] from trunk. git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.2.X@15613 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'django/forms')
-rw-r--r--django/forms/models.py20
1 files changed, 7 insertions, 13 deletions
diff --git a/django/forms/models.py b/django/forms/models.py
index 860a748547..a1319a88bb 100644
--- a/django/forms/models.py
+++ b/django/forms/models.py
@@ -16,7 +16,7 @@ from forms import BaseForm, get_declared_fields
from fields import Field, ChoiceField
from widgets import SelectMultiple, HiddenInput, MultipleHiddenInput
from widgets import media_property
-from formsets import BaseFormSet, formset_factory, DELETION_FIELD_NAME
+from formsets import BaseFormSet, formset_factory
__all__ = (
'ModelForm', 'BaseModelForm', 'model_to_dict', 'fields_for_model',
@@ -599,13 +599,10 @@ class BaseModelFormSet(BaseFormSet):
pk_value = getattr(pk_value, 'pk', pk_value)
obj = self._existing_object(pk_value)
- if self.can_delete:
- raw_delete_value = form._raw_value(DELETION_FIELD_NAME)
- should_delete = form.fields[DELETION_FIELD_NAME].clean(raw_delete_value)
- if should_delete:
- self.deleted_objects.append(obj)
- obj.delete()
- continue
+ if self.can_delete and self._should_delete_form(form):
+ self.deleted_objects.append(obj)
+ obj.delete()
+ continue
if form.has_changed():
self.changed_objects.append((obj, form.changed_data))
saved_instances.append(self.save_existing(form, obj, commit=commit))
@@ -620,11 +617,8 @@ class BaseModelFormSet(BaseFormSet):
continue
# If someone has marked an add form for deletion, don't save the
# object.
- if self.can_delete:
- raw_delete_value = form._raw_value(DELETION_FIELD_NAME)
- should_delete = form.fields[DELETION_FIELD_NAME].clean(raw_delete_value)
- if should_delete:
- continue
+ if self.can_delete and self._should_delete_form(form):
+ continue
self.new_objects.append(self.save_new(form, commit=commit))
if not commit:
self.saved_forms.append(form)