2011-03-06 8 views
24

내 모델에 ImageField가 있으며 이미지를 저장할 때 None인지 아닌지 확인하고 싶습니다. 그래서 그것을 할 수있는 더 좋은 방법이,ImageField가 비어 있는지 확인하는 방법

>>> p.avatar 
<ImageFieldFile: None> 
>>> p.avatar is None 
False 

내가 ImageField의 이름이 유 ''것을 발견 : 장고

내가 내 객체의 ImageField 전화 드렸습니다 쉘과는 준다?

답변

53

나는 그렇게 그것을 할 수있는 더 좋은 방법이의 ImageField의 이름은 유 '' 것으로 나타났습니다?

사실,이 클래스는 bool()을 평가하는 방법을 정확하게 그건처럼 보이는, 그래서 더 좋은 방법은 그 bool() 정의하는 if p.avatar

ImageFieldFile 서브 클래스 File를 호출하여 테스트하는 것입니다 :

def __nonzero__(self): 
    return bool(self.name) 

따라서 더 좋은 방법은 실제로입니다 :

if not p.avatar: 
    print "I don't exist" 

bool(p.avatar) is False 
관련 문제