Loading django/contrib/admin/helpers.py +1 −1 Original line number Diff line number Diff line Loading @@ -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) Loading tests/admin_inlines/admin.py +4 −0 Original line number Diff line number Diff line Loading @@ -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 Loading tests/admin_inlines/tests.py +10 −0 Original line number Diff line number Diff line Loading @@ -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 Loading Loading
django/contrib/admin/helpers.py +1 −1 Original line number Diff line number Diff line Loading @@ -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) Loading
tests/admin_inlines/admin.py +4 −0 Original line number Diff line number Diff line Loading @@ -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 Loading
tests/admin_inlines/tests.py +10 −0 Original line number Diff line number Diff line Loading @@ -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 Loading