57

I'm working on a django project where I need a DateField to sometimes be empty. My model looks like this:

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

But when I run python manage.py sql myapp the sql statement always end up being

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

Therefore my field isn't nullable and I can't understand what I should do to make it so. Any idea would be appreciated !

Robin
  • 9,415
  • 3
  • 34
  • 45

1 Answers1

121

You should use

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

Basically blank allows you to pass it a null value, but null tells the database to accept null values.

Ngenator
  • 10,909
  • 4
  • 41
  • 46