summaryrefslogtreecommitdiff
path: root/tests/model_forms
diff options
context:
space:
mode:
Diffstat (limited to 'tests/model_forms')
-rw-r--r--tests/model_forms/tests.py20
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: