django.forms.form과 django.forms.ModelForm 클래스에는 is_valid() 함수를 이용해 유효성 검사를 한다.
유효성 검사를 진행하기 위해 cleaning method를 사용하고 cleaning method는 일반적으로 폼에서 is_valid()를 사용한다. 유효성 검사에 문제가 있을 경우 ValidationError가 발생한다.
clean()가 to_python(), validate(), run_validators() 순서로 실행하고 에러 발생하면 ValidationError를 일으킨다. clean()은 clean data를 리턴하고 폼의 cleaned_data dictionary에 clean data를 넣는다.
is_valid() 함수가 호출하는 메소드 순서
https://docs.djangoproject.com/en/5.0/topics/forms/modelforms/