2013-04-16 20 views
9

Pracuję nad projektem django, w którym potrzebuję elementu DateField, aby czasami był pusty. Mój model wygląda następująco:Model Django: NULLable field

#models.py 
end = models.DateField(default=None, blank=True) 

Ale kiedy biegnę python manage.py sql myapp SQL zawsze skończyć się

CREATE TABLE "myapp_date" (
"end" date NOT NULL 
); 

Dlatego moja dziedzina nie jest pustych i nie mogę zrozumieć, co należy zrobić, aby Zrób to tak. Każdy pomysł zostanie doceniony!

Odpowiedz

24

Należy użyć

end = models.DateField(default=None, blank=True, null=True) 

Zasadniczo blank pozwala przekazać ją wartość null, ale null opowiada bazy danych, aby zaakceptować wartości null.

+1

Wstydzę się, myślałem, że już próbowałem; Chyba nie próbowałem tych trzech argumentów w tym samym czasie ... Teraz działa, dziękuję za pomoc !! – Robin

+0

Nie ma problemu, przytrafia się nam wszystkim :) – Ngenator

+0

To nie działało dla mnie, właściwie dodam pole daty później, są już pewne wartości bez pola daty. –