Я извлек объект из своей базы данных. Этот объект имеет поле внешнего ключа с атрибутом blank = True. Как я могу проверить, действительно ли он оставлен пустым?Django проверить, не пустое поле?
Спасибо за помощь!
Я извлек объект из своей базы данных. Этот объект имеет поле внешнего ключа с атрибутом blank = True. Как я могу проверить, действительно ли он оставлен пустым?Django проверить, не пустое поле?
Спасибо за помощь!
blank=True
просто сообщает администратору, что поле может быть пустым.
Если вы не установили null=True
, ваша база данных должна жаловаться, если вы попытаетесь ввести пустое значение.
Если ваше поле внешнего ключа может принимать нулевые значения, оно будет возвращать None в поле null, поэтому, чтобы проверить, было ли оно «пустым», вы можете просто проверить, является ли поле None
.
>>> obj.foreignkeyfield is None
True
if not obj.foreignkeyfield:
print "This field was left blank"
В чем разница между 'is None 'и' if not'? – hobbes3
@ hobbes3, В случае поля FK это не имеет большого значения. В качестве примера я использовал выражение для вывода консоли. 'is None' является только True, если' val == None', а 'if not' просто проверяет' bool (val) == False'. 'bool (0)', 'bool ('')' все оцениваются как False. –