diff options
Diffstat (limited to 'tests/model_forms')
| -rw-r--r-- | tests/model_forms/tests.py | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/tests/model_forms/tests.py b/tests/model_forms/tests.py index 9a88ff60f0..dc912c0cd6 100644 --- a/tests/model_forms/tests.py +++ b/tests/model_forms/tests.py @@ -2267,7 +2267,7 @@ class ModelFormInheritanceTests(TestCase): self.assertEqual(list(ModelForm().fields.keys()), ['name', 'age']) - def test_field_shadowing(self): + def test_field_removal(self): class ModelForm(forms.ModelForm): class Meta: model = Writer @@ -2290,6 +2290,24 @@ class ModelFormInheritanceTests(TestCase): self.assertEqual(list(type(str('NewForm'), (ModelForm, Form, Mixin), {})().fields.keys()), ['name', 'age']) self.assertEqual(list(type(str('NewForm'), (ModelForm, Form), {'age': None})().fields.keys()), ['name']) + def test_field_removal_name_clashes(self): + """Regression test for https://code.djangoproject.com/ticket/22510.""" + + class MyForm(forms.ModelForm): + media = forms.CharField() + + class Meta: + model = Writer + fields = '__all__' + + class SubForm(MyForm): + media = None + + self.assertIn('media', MyForm().fields) + self.assertNotIn('media', SubForm().fields) + self.assertTrue(hasattr(MyForm, 'media')) + self.assertTrue(hasattr(SubForm, 'media')) + class StumpJokeForm(forms.ModelForm): class Meta: |
