mirror of
https://github.com/django/django.git
synced 2024-12-01 15:42:04 +01:00
Refs #26502 -- Added choices to Form.__getitem__() KeyError message.
This commit is contained in:
parent
5c6d397956
commit
3cb63b0e47
@ -140,7 +140,12 @@ class BaseForm(object):
|
||||
field = self.fields[name]
|
||||
except KeyError:
|
||||
raise KeyError(
|
||||
"Key %r not found in '%s'" % (name, self.__class__.__name__))
|
||||
"Key '%s' not found in '%s'. Choices are: %s." % (
|
||||
name,
|
||||
self.__class__.__name__,
|
||||
', '.join(sorted(f for f in 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]
|
||||
|
@ -71,10 +71,9 @@ class FormsTestCase(SimpleTestCase):
|
||||
'<input type="text" name="birthday" value="1940-10-9" id="id_birthday" />'
|
||||
)
|
||||
|
||||
nonexistenterror = "Key u?'nonexistentfield' not found in 'Person'"
|
||||
with six.assertRaisesRegex(self, KeyError, nonexistenterror):
|
||||
msg = "Key 'nonexistentfield' not found in 'Person'. Choices are: birthday, first_name, last_name."
|
||||
with self.assertRaisesMessage(KeyError, msg):
|
||||
p['nonexistentfield']
|
||||
self.fail('Attempts to access non-existent fields should fail.')
|
||||
|
||||
form_output = []
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user