2011-03-06 19 views
24

मेरे पास मेरे मॉडल में एक छविफिल्ड है और जब मैं इसे सहेज रहा हूं, तो मैं यह जांचना चाहता हूं कि यह कोई नहीं है या नहीं।ImageField को कैसे चेक करें

Django में शेल मैं अपने वस्तु की ImageField फोन कर रहा हूँ और यह देता है:

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

मैंने पाया कि ImageField का नाम यू '' है, इसलिए वहाँ यह करने के लिए किसी भी बेहतर तरीका है?

उत्तर

53

मैंने पाया कि ImageField का नाम यू '' है, इसलिए वहाँ यह करने के लिए किसी भी बेहतर तरीका है?

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

:

वास्तव में, यह बेहतर तरीका सिर्फ अपनी bool()if p.avatar

ImageFieldFile उपवर्गों File बुला, जो परिभाषित करता है के द्वारा परीक्षण करने के लिए है ऐसा दिखता है जैसे वास्तव में कैसे इस वर्ग bool() का मूल्यांकन करता है, तो तो बेहतर तरीका वास्तव में है:

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

bool(p.avatar) is False 
संबंधित मुद्दे