Ответ 1
blank=True
просто сообщает сайту администратора, что поле может быть пустым.
Если вы не установили null=True
, ваша база данных должна жаловаться, если вы попытаетесь ввести пустое значение.
Если ваше поле внешнего ключа может принимать нулевые значения, оно будет возвращать None в null, поэтому, чтобы проверить, было ли оно "пустым", вы можете просто проверить, является ли это поле None
.
>>> obj.foreignkeyfield is None
True
if not obj.foreignkeyfield:
print "This field was left blank"