Pusty model Django = False nie działa?

Mam następujący model w Django 1.5:

class Person(models.Model):
    name = models.CharField(max_length=50)

Zauważ, że zgodnie zhttps://docs.djangoproject.com/en/dev/ref/models/fields/ name.blank jest domyślnie False, co oznacza, że ​​musi być określony.

Mogłem jednak pomyślnie utworzyć obiekt Person w następujący sposób:

Person.objects.create()

Zwróć uwagę, że nazwa nie jest określona. Co się dzieje?

Ok, odpowiedź z dokumentów to:

Zauważ, że to jest inne niż null. null jest czysto związany z bazą danych, podczas gdy pusty jest związany z walidacją. Jeśli pole ma puste = Prawda,walidacja formularza pozwoli na wpisanie pustej wartości. Jeśli pole jest puste = Fałsz, pole będzie wymagane.

Inny haczyk:

Zwróć uwagę, że walidatory nie będą uruchamiane automatycznie po zapisaniu modelu, ale jeśli używasz formularza modelowego, uruchomi on walidatory na dowolnych polach zawartych w formularzu.

Twoim obowiązkiem jest wywołanie czystych metod przed zapisaniem, jeśli nie używasz formularza.

questionAnswers(2)

yourAnswerToTheQuestion