2012-11-14 6 views
2

ModelForms를 사용하지 않고 장고 모델에서 필드 유효성 검사를 수행하려고했습니다. save()가 호출 될 때 clean_fieldname 메소드를 호출 할 수있는 방법이 있습니까?모델 폼을 사용하지 않고 django 모델 유효성 검사

+0

사용자 지정 양식을 선언하고 직접 클린 메서드를 작성할 수 있습니다. 그런 다음 Form save() 메서드를 덮어 쓰고 저장하거나 삭제하거나 원하는 작업을 수행 할 수 있습니다. – PepperoniPizza

답변

0

clean_fieldname 메서드는 양식 또는 모델 양식에 속합니다. 동일한 작업을 수행 할 모델에는 코드가 없으므로 직접 구현해야합니다.

필드에 validator을 작성한 다음 저장하여 인스턴스 유효성을 검사하기 전에 full_clean()으로 전화하는 것이 좋습니다.

+0

감사합니다. full_clean()이 작업을 수행합니다. 유효성 검사기와 같은 클리너 방식으로 데이터 조작기를 작성하면 full_clean()과 별도로 save()에서도 자동으로 호출됩니다. – user504879

+0

[답변] (http://stackoverflow.com/questions/12945339/is-this-the-way-to-validate-django-model-fields/12945692#12945692) [유사] (http : // [질문] (http://stackoverflow.com/questions/12608639/django-field-validation-questions/8771029/django-raise-a-validation-error-in-a-models-save-method) in-model-and-in-admin)을 스택 오버플로에 추가하기 전에 더 자세히 설명하는 데 도움이 될 것입니다. – Alasdair