2013-04-16 4 views
9

Я работаю над проектом django, где мне нужен DateField, чтобы иногда быть пустым. Моя модель выглядит следующим образом:Django model: Поле NULLable

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

Но когда я бег python manage.py sql myapp оператор SQL всегда в конечном итоге

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

Поэтому мое поле не обнуляемое, и я не могу понять, что я должен сделать, чтобы сделай это так. Любая идея была бы оценена!

ответ

24

Вы должны использовать

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

В основном blank позволяет передать его нулевое значение, но null говорит базу данных, чтобы принимать нулевые значения.

+1

Мне стыдно, я думал, что уже пробовал это; Наверное, я не пробовал одновременно три аргумента ... Сейчас он работает, спасибо за помощь !! – Robin

+0

Без проблем, происходит со всеми нами :) – Ngenator

+0

Это не сработало для меня, на самом деле я добавляю поле даты позже, уже есть значения без поля даты. –