2015-06-18 20 views
7

Sto creando un'applicazione Django e ho il problema successivo: viene visualizzato questo errore quando voglio fissare una data:Come posso impostare un formato DateField in django dal modello?

ValidationError [u"'12/06/2012' value has an invalid date format. It must be in YYYY-MM-DD format."] 

Per questo modello:

class ModelA(models.Model): 

    date1 = models.DateField(null=True) 
    date2 = models.DateField(null=True) 

Come posso impostare la Formato DataField per essere %m/%d/%Y.

L'opzione "input_formats" non è stata riconosciuta.

Grazie!

risposta

7

In settings.py impostato DATE_INPUT_FORMATS come di seguito:

DATE_INPUT_FORMATS = ['%d-%m-%Y'] 

E nel modulo si poteva fare qualcosa di simile di seguito:

class ClientDetailsForm(ModelForm): 
    date_of_birth = DateField(input_formats=settings.DATE_INPUT_FORMATS) 
    class Meta: 
     model = ModelA 
+1

Funzionerà solo se 'USE_L10N' è False. Potrebbe inoltre essere necessario impostare 'DATE_FORMAT' quando si stampa una data nei modelli. – Dric512

+1

Non può essere impostato dal modello. Si applica solo al modulo. –

12

input_formats è un forms.DateField option, non un'opzione model.DateField. Devi impostarlo nella tua forma, non nei tuoi modelli.

+0

Per creare modelli che sto usando viste generiche. Come posso cambiare il modo in cui la data viene formattata dal modello? – BigMonkey89WithaLeg

Problemi correlati