diff options
| author | Chris Jerdonek <chris.jerdonek@gmail.com> | 2021-07-05 06:21:23 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-07-05 15:21:23 +0200 |
| commit | edde2a069929c93e37835dc3f7c9a229040058e2 (patch) | |
| tree | aa848c25c3081ebc8c9db61893373596848effc1 /django/forms/forms.py | |
| parent | 2231429991ee17987e3897238f9e5551c5c7ab2e (diff) | |
Fixed #32901 -- Optimized BaseForm.__getitem__().
Diffstat (limited to 'django/forms/forms.py')
| -rw-r--r-- | django/forms/forms.py | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/django/forms/forms.py b/django/forms/forms.py index 14f5dea4cd..42ef772655 100644 --- a/django/forms/forms.py +++ b/django/forms/forms.py @@ -150,6 +150,10 @@ class BaseForm: def __getitem__(self, name): """Return a BoundField with the given name.""" try: + return self._bound_fields_cache[name] + except KeyError: + pass + try: field = self.fields[name] except KeyError: raise KeyError( @@ -159,9 +163,9 @@ class BaseForm: ', '.join(sorted(self.fields)), ) ) - if name not in self._bound_fields_cache: - self._bound_fields_cache[name] = field.get_bound_field(self, name) - return self._bound_fields_cache[name] + bound_field = field.get_bound_field(self, name) + self._bound_fields_cache[name] = bound_field + return bound_field @property def errors(self): |
