Recuperé un objeto de mi base de datos. Este objeto tiene un campo de clave externa, con el atributo en blanco = Verdadero. ¿Cómo puedo verificar si realmente se dejó en blanco?Django compruebe si el campo está en blanco?
¡Gracias por la ayuda!
Recuperé un objeto de mi base de datos. Este objeto tiene un campo de clave externa, con el atributo en blanco = Verdadero. ¿Cómo puedo verificar si realmente se dejó en blanco?Django compruebe si el campo está en blanco?
¡Gracias por la ayuda!
blank=True
le está diciendo al sitio de administración que el campo puede dejarse en blanco.
A menos que configure null=True
también, su base de datos se debería quejar si ha intentado ingresar un valor en blanco.
Si su campo de clave foránea puede tomar valores nulos, devolverá None en nulo, por lo tanto, para verificar si se "dejó en blanco", simplemente puede verificar si el campo es None
.
>>> obj.foreignkeyfield is None
True
if not obj.foreignkeyfield:
print "This field was left blank"
¿Cuál es la diferencia entre 'is None' y' if not'? – hobbes3
@ hobbes3, en el caso de un campo FK, realmente no importa. Usé una expresión para mostrar la salida de la consola como un ejemplo. 'is None' solo es True si' val == None', mientras que 'if not' simplemente verifica' bool (val) == False'. 'bool (0)', 'bool ('')' todos evalúan a False. –