mirror of
https://github.com/django/django.git
synced 2025-10-24 06:06:09 +00:00
Fixed #17642 -- Added min_num support to modelformsets, inlines, and the admin.
Thanks Stephen Burrows for work on the patch as well.
Forwardport of 2914f66983 from stable/1.7.x
This commit is contained in:
committed by
Tim Graham
parent
860d31ac7a
commit
4ef10f245a
@@ -376,6 +376,33 @@ class ModelFormsetTest(TestCase):
|
||||
'<Author: Walt Whitman>',
|
||||
])
|
||||
|
||||
def test_min_num(self):
|
||||
# Test the behavior of min_num with model formsets. It should be
|
||||
# added to extra.
|
||||
qs = Author.objects.none()
|
||||
|
||||
AuthorFormSet = modelformset_factory(Author, fields="__all__", extra=0)
|
||||
formset = AuthorFormSet(queryset=qs)
|
||||
self.assertEqual(len(formset.forms), 0)
|
||||
|
||||
AuthorFormSet = modelformset_factory(Author, fields="__all__", min_num=1, extra=0)
|
||||
formset = AuthorFormSet(queryset=qs)
|
||||
self.assertEqual(len(formset.forms), 1)
|
||||
|
||||
AuthorFormSet = modelformset_factory(Author, fields="__all__", min_num=1, extra=1)
|
||||
formset = AuthorFormSet(queryset=qs)
|
||||
self.assertEqual(len(formset.forms), 2)
|
||||
|
||||
def test_min_num_with_existing(self):
|
||||
# Test the behavior of min_num with existing objects.
|
||||
# See #22628 - this will change when that's fixed.
|
||||
Author.objects.create(name='Charles Baudelaire')
|
||||
qs = Author.objects.all()
|
||||
|
||||
AuthorFormSet = modelformset_factory(Author, fields="__all__", extra=0, min_num=1)
|
||||
formset = AuthorFormSet(queryset=qs)
|
||||
self.assertEqual(len(formset.forms), 2)
|
||||
|
||||
def test_custom_save_method(self):
|
||||
class PoetForm(forms.ModelForm):
|
||||
def save(self, commit=True):
|
||||
|
||||
Reference in New Issue
Block a user