Clean all of self.data and populate self._errors and self.cleaned_data.
(self)
| 322 | ) |
| 323 | |
| 324 | def full_clean(self): |
| 325 | """ |
| 326 | Clean all of self.data and populate self._errors and self.cleaned_data. |
| 327 | """ |
| 328 | self._errors = ErrorDict(renderer=self.renderer) |
| 329 | if not self.is_bound: # Stop further processing. |
| 330 | return |
| 331 | self.cleaned_data = {} |
| 332 | # If the form is permitted to be empty, and none of the form data has |
| 333 | # changed from the initial data, short circuit any validation. |
| 334 | if self.empty_permitted and not self.has_changed(): |
| 335 | return |
| 336 | |
| 337 | self._clean_fields() |
| 338 | self._clean_form() |
| 339 | self._post_clean() |
| 340 | |
| 341 | def _clean_fields(self): |
| 342 | for name, bf in self._bound_items(): |