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:25:35 -0400
commit4ef10f245ada0c7d5ae8dc31eebffa63790d40fb (patch)
treedffd7ca06862fa20b5fa0b4528ac8beeecaee9fa /django/forms
parent860d31ac7a3bdd4b27db8b34b110b3d801ddaf8a (diff)
Fixed #17642 -- Added min_num support to modelformsets, inlines, and the admin.
Thanks Stephen Burrows for work on the patch as well. Forwardport of 2914f66983a92fcae55673c517dd8d01e8c238c4 from stable/1.7.x
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 f1a383fde6..263d3d4340 100644
--- a/django/forms/models.py
+++ b/django/forms/models.py
@@ -805,7 +805,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.
"""
@@ -823,9 +824,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
@@ -969,7 +970,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.
@@ -989,8 +991,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,