MCPcopy
hub / github.com/django/django / _update_errors

Method _update_errors

django/forms/models.py:446–477  ·  view source on GitHub ↗
(self, errors)

Source from the content-addressed store, hash-verified

444 return self.cleaned_data
445
446 def _update_errors(self, errors):
447 # Override any validation error messages defined at the model level
448 # with those defined at the form level.
449 opts = self._meta
450
451 # Allow the model generated by construct_instance() to raise
452 # ValidationError and have them handled in the same way as others.
453 if hasattr(errors, "error_dict"):
454 error_dict = errors.error_dict
455 else:
456 error_dict = {NON_FIELD_ERRORS: errors}
457
458 for field, messages in error_dict.items():
459 if (
460 field == NON_FIELD_ERRORS
461 and opts.error_messages
462 and NON_FIELD_ERRORS in opts.error_messages
463 ):
464 error_messages = opts.error_messages[NON_FIELD_ERRORS]
465 elif field in self.fields:
466 error_messages = self.fields[field].error_messages
467 else:
468 continue
469
470 for message in messages:
471 if (
472 isinstance(message, ValidationError)
473 and message.code in error_messages
474 ):
475 message.message = error_messages[message.code]
476
477 self.add_error(None, errors)
478
479 def _post_clean(self):
480 opts = self._meta

Callers 4

_post_cleanMethod · 0.95
validate_uniqueMethod · 0.95
validate_constraintsMethod · 0.95
clean_usernameMethod · 0.80

Calls 2

add_errorMethod · 0.80
itemsMethod · 0.45

Tested by

no test coverage detected