django-tricks: ModelForm의 Model 검증 피하기

563 단어
당시의 상황은 이랬다. 고객은 자신이 제시한 이메일 검증 기준을 사용하기를 원했고 django가 직접 가져온 것이 아니다. 나는 그대로 했다. 비록 그 검증 규칙은 매우 2적이다. 실제로 일부 데이터는 그들의 규칙이 합법적이지만 django의 이메일 검증에서 실패했다.
문제는 바로 여기에 있습니다. form에서 이메일 필드를 다시 설명한 다음clean 을 정의했습니다.이메일 방법으로 맞춤형 이메일 검증 규칙을 실현합니다. 이것은django가 자체로 가지고 있는 검증을 피할 수 있을 것이라고 생각했지만 실패했습니다.
나중에 원본 추적(django의 모델과form 원본 코드가 어지러워 보임)을 통해 BaseModelForm에 _get_validation_exclusions라는 방법이 있음을 발견했다. 이 방법은 모델 검증을 피해야 하는 (form의 clean * 등 검증 방법을 포함하지 않음)을 포함하는 속성 명칭 열표를 되돌려준다.
주: 원본 코드를 보는 것은 아주 오래된 일입니다. 이 블로그를 쓰는 것은 단지 이 방법의 이름을 기억하기 위해서입니다.

좋은 웹페이지 즐겨찾기