Пустая модель Django = False не работает?
У меня есть следующая модель в Django 1.5:
class Person(models.Model):
name = models.CharField(max_length=50)
Обратите внимание, что в соответствии сhttps://docs.djangoproject.com/en/dev/ref/models/fields/ name.blank по умолчанию является False, что означает, что оно должно быть указано.
Тем не менее, я мог бы успешно создать объект Person следующим образом:
Person.objects.create()
Обратите внимание, что имя не указано. Что происходит?
Хорошо, ответ из документации:
Обратите внимание, что это отличается от нуля. null чисто связан с базой данных, тогда как blank связан с валидацией. Если поле имеет пустое значение = True,проверка формы позволит ввести пустое значение. Если поле имеет пустое значение = False, поле будет обязательным.
Еще один улов:
Обратите внимание, что валидаторы не будут запускаться автоматически при сохранении модели, но если вы используете ModelForm, он будет запускать ваши валидаторы в любых полях, включенных в вашу форму.
Вы несете ответственность за вызов чистых методов перед сохранением, если вы не используете форму.