diff options
author | Francesco Panico <panico.francesco@gmail.com> | 2022-11-17 22:45:06 +0100 |
---|---|---|
committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2022-11-18 08:06:13 +0100 |
commit | 51faf4bd172cd4cb219a9793facbfa00246c9f3c (patch) | |
tree | 8dd28c9fee31b34267ff0b7d25853fba2280e3f8 /tests/forms_tests/tests/test_forms.py | |
parent | fbde929b19754f19cba1d14e86f4c59f4b0a633c (diff) | |
download | django-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/tests/test_forms.py')
-rw-r--r-- | tests/forms_tests/tests/test_forms.py | 16 |
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): |