2012-08-24 2 views
2

내 모델의 clean() 메소드에 넣을 적절한 것이 무엇인지 궁금합니다.django 모델의 클린 방법에 속하는 것

모든 검증 및 조작을 모델의 속성에 넣어 유효성을 보장하는 것이 합리적입니까 (비즈니스 로직)? 제 경우에는 많은 것이 있습니다. 그리고 모델이 저장 될 때마다 그것을 실행하는 것이 합리적인지 궁금합니다. 예를 들어 내가 좋아하는 일을하고 있어요 들어

: - 비디오가 비공개로 표시된 경우, playlsts 에서 모든 참조를 제거 - 등

- 비디오의 제목은 사용자가 다른 비디오 과 관련하여 고유한지 확인

내가하고있는 일 중 일부는 새로운 비디오를 만들 때 정말로해야 할 일입니다. 따라서 모델을 저장할 때마다 확인/설정하는 것도 과도한 것으로 보입니다.

이 방법이 clean() 메서드를 올바르게 사용하고 있습니까?

+0

나는 너무 과도하다고 생각하지 않는다. 데이터를 깨끗하게 처리 할 수는 없습니다.), 특히 사용자가 입력하는 경우. – Jingo

답변

0

클리어링 관계는 신호에 의해 처리하는 것이 가장 좋습니다. 신호가 제대로 작동하는지 확인하기 위해 단위 테스트를 작성할 수 있습니다.

제목이 고유하다는 것을 확인하는 것은 양식/모델 유효성 검사기에 분명히 속한 것입니다. 나에게 그것은 더 나은 관심의 분리 같다.