From 4ef10f245ada0c7d5ae8dc31eebffa63790d40fb Mon Sep 17 00:00:00 2001 From: Anders Steinlein Date: Wed, 5 Mar 2014 21:19:40 +0100 Subject: 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 --- django/forms/models.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'django/forms') 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, -- cgit v1.3