2011-03-06 17 views
24

Tengo un ImageField en mi modelo y cuando lo estoy guardando quiero verificar que sea None o no.Cómo comprobar que ImageField está vacío

En Django concha Voy a llamar a mi ImageField del objeto y que da:

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

me pareció que el nombre del ImageField es u '', por lo que ¿hay alguna forma mejor de hacerlo?

Respuesta

53

me pareció que el nombre del ImageField es U '', por lo que ¿hay alguna forma mejor de hacer que ?

En realidad, parece que eso es exactamente cómo esta clase evalúa bool(), por lo que la mejor forma de hacerlo es simplemente probar su bool() llamando if p.avatar

ImageFieldFile subclases File, que define:

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

Así que la mejor manera es de hecho:

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

bool(p.avatar) is False 
Cuestiones relacionadas