mirror of
				https://github.com/django/django.git
				synced 2025-10-31 09:41:08 +00:00 
			
		
		
		
	Fixed #26729 -- Allowed overriding a form field's label/help_text in Form.__init__() for TabularInline.
This commit is contained in:
		| @@ -279,7 +279,7 @@ class InlineAdminFormSet(object): | ||||
|                     'help_text': help_text_for_field(field_name, self.opts.model), | ||||
|                 } | ||||
|             else: | ||||
|                 form_field = self.formset.form.base_fields[field_name] | ||||
|                 form_field = self.formset.empty_form.fields[field_name] | ||||
|                 label = form_field.label | ||||
|                 if label is None: | ||||
|                     label = label_for_field(field_name, self.opts.model, self.opts) | ||||
|   | ||||
| @@ -192,6 +192,10 @@ class SomeChildModelForm(forms.ModelForm): | ||||
|             'position': forms.HiddenInput, | ||||
|         } | ||||
|  | ||||
|     def __init__(self, *args, **kwargs): | ||||
|         super(SomeChildModelForm, self).__init__(*args, **kwargs) | ||||
|         self.fields['name'].label = 'new label' | ||||
|  | ||||
|  | ||||
| class SomeChildModelInline(admin.TabularInline): | ||||
|     model = SomeChildModel | ||||
|   | ||||
| @@ -95,6 +95,16 @@ class TestInline(TestDataMixin, TestCase): | ||||
|         response = self.client.get(reverse('admin:admin_inlines_titlecollection_add')) | ||||
|         self.assertContains(response, '<th class="required">Title1</th>', html=True) | ||||
|  | ||||
|     def test_custom_form_tabular_inline_overridden_label(self): | ||||
|         """ | ||||
|         SomeChildModelForm.__init__() overrides the label of a form field. | ||||
|         That label is displayed in the TabularInline. | ||||
|         """ | ||||
|         response = self.client.get(reverse('admin:admin_inlines_someparentmodel_add')) | ||||
|         field = list(response.context['inline_admin_formset'].fields())[0] | ||||
|         self.assertEqual(field['label'], 'new label') | ||||
|         self.assertContains(response, '<th class="required">New label</th>', html=True) | ||||
|  | ||||
|     def test_tabular_non_field_errors(self): | ||||
|         """ | ||||
|         Ensure that non_field_errors are displayed correctly, including the | ||||
|   | ||||
		Reference in New Issue
	
	Block a user