2013-04-16 253 views
9

我正在一个Django项目中,我需要一个DateField有时是空的。我的模型是这样的:Django模型: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值,但null告诉数据库接受空值。

+1

我很惭愧,我以为我已经试过了;我想我没有在同一时间尝试过三个参数......现在正在工作,感谢您的帮助! – Robin

+0

没有问题,发生在我们所有人:) – Ngenator

+0

它没有为我工作,其实我以后添加日期字段,已经有一些没有日期字段的值。 –