(self, errors)
| 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 |
no test coverage detected