2013-04-16 19 views
9

Sto lavorando a un progetto django in cui ho bisogno di un DateField a volte vuoto. Il mio modello è simile al seguente:Modello Django: campo NULLable

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

Ma quando ho eseguito python manage.py sql myapp l'istruzione SQL finiscono sempre per essere

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

Perciò il mio campo non è annullabile e non riesco a capire che cosa devo fare per fallo così Qualsiasi idea sarebbe apprezzata!

risposta

24

Si dovrebbe usare

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

Fondamentalmente blank permette di passare un valore nullo, ma null dice il database per accettare i valori nulli.

+1

Mi vergogno, pensavo di averlo già provato; Suppongo di non aver provato i tre argomenti contemporaneamente ... Funziona ora, grazie per l'aiuto !! – Robin

+0

Nessun problema, succede a tutti noi :) – Ngenator

+0

Non ha funzionato per me, in realtà sto aggiungendo il campo data dopo, ci sono già alcuni valori senza campo data. –

Problemi correlati