It looks to me as if the changes fix a bug, but don't seem to provide a really clear error message if the field is missing. If so, any chance of making the error message clearer?
Also, a issue: configChoiceField.py fails pyflakes validation:
- "from .comparison import *" is used, which violates our standards and make linting much less informative. This is the only substantive problem.
- sys is imported but not used
- name is computed in line 308 but not used
- r is computed and discarded in several places, but only as a sanity check; you could leave this, but by not setting a variable it would make the linter happier