summaryrefslogtreecommitdiff
path: root/tests/forms_tests
diff options
context:
space:
mode:
authorFrancesco Panico <panico.francesco@gmail.com>2022-11-17 22:45:06 +0100
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2022-11-18 08:06:13 +0100
commit51faf4bd172cd4cb219a9793facbfa00246c9f3c (patch)
tree8dd28c9fee31b34267ff0b7d25853fba2280e3f8 /tests/forms_tests
parentfbde929b19754f19cba1d14e86f4c59f4b0a633c (diff)
downloaddjango-51faf4bd172cd4cb219a9793facbfa00246c9f3c.tar.gz
Fixed #34148 -- Reverted "Fixed #32901 -- Optimized BaseForm.__getitem__()."
This reverts commit edde2a069929c93e37835dc3f7c9a229040058e2. Thanks Jan Pieter Waagmeester for the report.
Diffstat (limited to 'tests/forms_tests')
-rw-r--r--tests/forms_tests/tests/test_forms.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/forms_tests/tests/test_forms.py b/tests/forms_tests/tests/test_forms.py
index 6005472194..930a200b14 100644
--- a/tests/forms_tests/tests/test_forms.py
+++ b/tests/forms_tests/tests/test_forms.py
@@ -4579,6 +4579,22 @@ Options: <select multiple name="options" required>
'<legend number="9999" for="id_first_name">First name:</legend>',
)
+ def test_remove_cached_field(self):
+ class TestForm(Form):
+ name = CharField(max_length=10)
+
+ def __init__(self, *args, **kwargs):
+ super().__init__(*args, **kwargs)
+ # Populate fields cache.
+ [field for field in self]
+ # Removed cached field.
+ del self.fields["name"]
+
+ f = TestForm({"name": "abcde"})
+
+ with self.assertRaises(KeyError):
+ f["name"]
+
@jinja2_tests
class Jinja2FormsTestCase(FormsTestCase):