2009-12-09 1 views

답변

1

정말 인상 할 수있는 것은 당신에게 달려 있습니다. 이 경우 ValueError가 적합 할 수 있습니다.

+1

ValueError가 적합 할 수도 있지만 다른 이유로 인해 발생할 수 있습니다. 사용자 정의 오류를 만들면 해당 오류를 잡을 수 있습니다. – sheats

+0

나는 당신 자신의 예외를 만드는 것이 더 좋은 생각이라고 동의한다. 'NullModelError' 또는 이와 동등하게 기술 된 예외를 생성하면 특정 예외를 잡을 수 있습니다. – jathanism

1

나는 save() 메서드에 넣을 것이다. 그런 다음 해당 모델에서 save를 호출하는 모든 곳에서 시도하거나 catch 할 수있는 사용자 정의 오류를 만듭니다.

class EmptyModelDetected(Exception): 
    pass 

# Then in your save method 
def save(self, *args, **kwargs): 
    if self.field1 or self.field2 or self.field3 or self.field4: 
     super(Model, self).save(*args, **kwargs) 
    else: 
     raise EmptyModelDetected() 

# Then, wherever you call save 
try: 
    m.save() 
except EmptyModelDetected: 
    # handle the error