2011-03-06 74 views
24

我在模型中有一個ImageField,當我保存它時,我想檢查它是否爲None。如何檢查ImageField爲空

在Django殼,我打電話給我的對象的ImageField的,它給:

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

我發現的ImageField的名字是U「」,那麼有沒有更好的辦法做到這一點?

回答

53

我發現的ImageField的名字是 U「」,那麼,有沒有更好的方式來做到 呢?

事實上,它看起來像這是該類究竟如何評估bool(),所以更好的方法是把它通過調用if p.avatar

ImageFieldFileFile,它定義bool()測試:

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

所以更好的方法確實是:

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

bool(p.avatar) is False