Как установить NULL для IntegerField вместо установки 0?
я загружаю некоторые данные из файла excel с помощью xlrd и превращаю эти данные в модели (в основном со значениями целых полей) в Django. В моем файле excel есть куча отсутствующих данных. К сожалению, эти отсутствующие данные преобразуются в значение 0 в моих моделях вместо NULL. Это означает, что когда моя модель Person не имеет возраста, этот возраст записывается как 0, а не как NULL.
каков наилучший способ изменить это? Я пробовал сделать это:
age = models.IntegerField(blank=True, null=True)
но пустые поля по-прежнему получают значение 0 по умолчанию.
2 ответов
вместо
age = models.IntegerField()
использовать
age = models.IntegerField(blank=True, null=True)
когда мы указываем
blank=True, null=True
Это позволит вам сохранить null в этом столбце
жизнь была не так проста для меня, когда я использую django 1.7 :P
age = models.IntegerField()
не очень помогло, но вместо этого я добавил значение по умолчанию=0 в качестве параметра,age = models.IntegerField(default=0)
это решает мои проблемы,и он по существу делает все, что я хотел.