diff options
| author | heathervm <heathervmurray@gmail.com> | 2017-03-31 07:10:08 -0700 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2017-03-31 10:10:08 -0400 |
| commit | 7d1e23775344cc3dead03bd4af45f4fdf134b819 (patch) | |
| tree | 0b1b7aa765e7d21bf9d90f34be87563e32266f60 /tests/model_forms | |
| parent | a0d29a9abe93cbe87cf818c3b538506e49739b6c (diff) | |
Fixed #27993 -- Fixed model form default fallback for SelectMultiple.
Diffstat (limited to 'tests/model_forms')
| -rw-r--r-- | tests/model_forms/tests.py | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/model_forms/tests.py b/tests/model_forms/tests.py index 3509146856..c85eb2a6fa 100644 --- a/tests/model_forms/tests.py +++ b/tests/model_forms/tests.py @@ -614,6 +614,22 @@ class ModelFormBaseTest(TestCase): self.assertEqual(m1.mode, '') self.assertEqual(m1._meta.get_field('mode').get_default(), 'di') + def test_default_not_populated_on_selectmultiple(self): + class PubForm(forms.ModelForm): + mode = forms.CharField(required=False, widget=forms.SelectMultiple) + + class Meta: + model = PublicationDefaults + fields = ('mode',) + + # Empty data doesn't use the model default because an unselected + # SelectMultiple doesn't have a value in HTML form submission. + mf1 = PubForm({}) + self.assertEqual(mf1.errors, {}) + m1 = mf1.save(commit=False) + self.assertEqual(m1.mode, '') + self.assertEqual(m1._meta.get_field('mode').get_default(), 'di') + def test_prefixed_form_with_default_field(self): class PubForm(forms.ModelForm): prefix = 'form-prefix' |
