summaryrefslogtreecommitdiff
path: root/django/forms
diff options
context:
space:
mode:
authorAnders Steinlein <anders@e5r.no>2014-03-05 21:19:40 +0100
committerTim Graham <timograham@gmail.com>2014-05-15 07:02:06 -0400
commit2914f66983a92fcae55673c517dd8d01e8c238c4 (patch)
tree05016c60eb19d8d80d628626081e737ebd0f8f5b /django/forms
parent93d5b0d5b6fac67fe7cbd3b86d3073550396958f (diff)
[1.7.x] Fixed #17642 -- Added min_num support to modelformsets, inlines, and the admin.
Thanks Stephen Burrows for work on the patch as well.
Diffstat (limited to 'django/forms')
-rw-r--r--django/forms/models.py12
1 files changed, 8 insertions, 4 deletions
diff --git a/django/forms/models.py b/django/forms/models.py
index 5b799fe694..c53f844400 100644
--- a/django/forms/models.py
+++ b/django/forms/models.py
@@ -810,7 +810,8 @@ def modelformset_factory(model, form=ModelForm, formfield_callback=None,
formset=BaseModelFormSet, extra=1, can_delete=False,
can_order=False, max_num=None, fields=None, exclude=None,
widgets=None, validate_max=False, localized_fields=None,
- labels=None, help_texts=None, error_messages=None):
+ labels=None, help_texts=None, error_messages=None,
+ min_num=None, validate_min=False):
"""
Returns a FormSet class for the given Django model class.
"""
@@ -833,9 +834,9 @@ def modelformset_factory(model, form=ModelForm, formfield_callback=None,
formfield_callback=formfield_callback,
widgets=widgets, localized_fields=localized_fields,
labels=labels, help_texts=help_texts, error_messages=error_messages)
- FormSet = formset_factory(form, formset, extra=extra, max_num=max_num,
+ FormSet = formset_factory(form, formset, extra=extra, min_num=min_num, max_num=max_num,
can_order=can_order, can_delete=can_delete,
- validate_max=validate_max)
+ validate_min=validate_min, validate_max=validate_max)
FormSet.model = model
return FormSet
@@ -979,7 +980,8 @@ def inlineformset_factory(parent_model, model, form=ModelForm,
fields=None, exclude=None, extra=3, can_order=False,
can_delete=True, max_num=None, formfield_callback=None,
widgets=None, validate_max=False, localized_fields=None,
- labels=None, help_texts=None, error_messages=None):
+ labels=None, help_texts=None, error_messages=None,
+ min_num=None, validate_min=False):
"""
Returns an ``InlineFormSet`` for the given kwargs.
@@ -999,8 +1001,10 @@ def inlineformset_factory(parent_model, model, form=ModelForm,
'can_order': can_order,
'fields': fields,
'exclude': exclude,
+ 'min_num': min_num,
'max_num': max_num,
'widgets': widgets,
+ 'validate_min': validate_min,
'validate_max': validate_max,
'localized_fields': localized_fields,
'labels': labels,