У меня есть база данных postgres и модель с пустым полем = False и null = True.Скажем так:
class MyModel(models.Model):
param1 = models.CharField(max_length=1024)
param2 = models.CharField(max_length=1024)
info = models.CharField(max_length=1024, blank=False, null=False)
Теперь, когда я создаю модель, подобную этой:
m = MyModel(param1=val1, param2=val2)
, это в принципе не вызовет никаких исключений для поля info
при сохранении.Более того, после использования метода save
он сохранит пустое значение для info
в базе данных.
ОБНОВЛЕНО
При создании экземпляра модели, подобной этой:
m = MyModel(param1=val1, param2=val2, info=None)
сохранение вызовет исключение в этом случае
Любые предложения, почему этоэто произошло?По моему мнению, если я пропущу добавление значения в инициализацию модели, его следует по крайней мере принять за None
, но это не так.Я гуглил это и не мог найти конкретного ответа на это.Но обнаружил, что только метод full_clean()
модели выполняет проверку и вызывает исключения, подобные этим:
ValidationError: {'info': ['This field cannot be blank.'], 'owner': ['This field cannot be blank.']}
Любая помощь приветствуется!