2012-01-30 3 views
1

모델 메서드 내에서 인스턴스를 변경하는 논리를 삽입하는 것이 맞습니까?django 모델 메서드

django 문서의 예제는 실제 인스턴스를 변경하지 않고 일부 특정 정보를 반환하는 모든 메서드입니다.

즉. 장고 문서에서 모델 방법 예 :

def is_midwestern(self): 
     "Returns True if this person is from the Midwest." 
     return self.state in ('IL', 'WI', 'MI', 'IN', 'OH', 'IA', 'MO') 

내가

def publish(self): 
     "Publishes this video." 
     self.published = True 
     # some other related business logic here 

을 할 싶은 것이 괜찮 생각인가요? 아니면 이것이 다른 곳으로 가야합니까?

답변

4

예, 특히 개체에만 영향을주는 경우 개체를 메서드로 추상화하는 것이 좋은 개체 지향 디자인입니다.

사소한 getter/setter 메서드를 사용하는 경우에는 필요하지 않지만 (여기에 Java를 작성하지는 않습니다 ...) 다른 비즈니스 로직이 관련되어 있다고 언급 했으므로 좋은 생각입니다. 디자인 결정.