Как установить 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) это решает мои проблемы,и он по существу делает все, что я хотел.