mirror of
				https://github.com/django/django.git
				synced 2025-10-31 01:25:32 +00:00 
			
		
		
		
	[1.11.x] Fixed #27993 -- Fixed model form default fallback for SelectMultiple.
Backport of 7d1e237753 from master
			
			
This commit is contained in:
		| @@ -618,6 +618,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' | ||||
|   | ||||
		Reference in New Issue
	
	Block a user