summaryrefslogtreecommitdiff
path: root/tests/model_formsets/tests.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/model_formsets/tests.py')
-rw-r--r--tests/model_formsets/tests.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/model_formsets/tests.py b/tests/model_formsets/tests.py
index 2d0380195b..217a1a1049 100644
--- a/tests/model_formsets/tests.py
+++ b/tests/model_formsets/tests.py
@@ -1431,3 +1431,21 @@ class TestModelFormsetOverridesTroughFormMeta(TestCase):
form = BookFormSet.form(data={'title': 'Foo ' * 30, 'author': author.id})
form.full_clean()
self.assertEqual(form.errors, {'title': ['Title too long!!']})
+
+ def test_modelformset_factory_field_class_overrides(self):
+ author = Author.objects.create(pk=1, name='Charles Baudelaire')
+ BookFormSet = modelformset_factory(Book, fields="__all__", field_classes={
+ 'title': forms.SlugField,
+ })
+ form = BookFormSet.form(data={'title': 'Foo ' * 30, 'author': author.id})
+ self.assertIs(Book._meta.get_field('title').__class__, models.CharField)
+ self.assertIsInstance(form.fields['title'], forms.SlugField)
+
+ def test_inlineformset_factory_field_class_overrides(self):
+ author = Author.objects.create(pk=1, name='Charles Baudelaire')
+ BookFormSet = inlineformset_factory(Author, Book, fields="__all__", field_classes={
+ 'title': forms.SlugField,
+ })
+ form = BookFormSet.form(data={'title': 'Foo ' * 30, 'author': author.id})
+ self.assertIs(Book._meta.get_field('title').__class__, models.CharField)
+ self.assertIsInstance(form.fields['title'], forms.SlugField)