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

Вы несете ответственность за вызов чистых методов перед сохранением, если вы не используете форму.

Ответы на вопрос(2)

Ваш ответ на вопрос