Django 1.8 ora ha qualche problema di rilevamento per i modelli, che è bello. Tuttavia, per un avvertimento che mi sta dando, capisco il problema, ma non capisco come il suggerimento che mi sta dando sia migliore."Corretto il valore predefinito fornito" dopo l'aggiornamento a Django 1.8
Questo è il mio campo (male) il modello:
my_date = DateField(default=datetime.now())
ed è facile capire perché questo è male. Ma questo è il suggerimento che mi sta dando:
MyMoel.my_date: (campis.W161) Valore predefinito predefinito fornito.
SUGGERIMENTO: Sembra che per questo campo sia impostato un valore predefinito di data/ora/datetime come predefinito. Questo potrebbe non essere quello che vuoi. Se si vuole avere la data corrente come predefinito, utilizzare `django.utils.timezone.now`
Quindi, dice di usare timezone.now
, ma come è che meglio di datetime.now
? Sono entrambi i valori di default "fisso" ... timezone.now
solo rendimenti un'istanza di datetime, che è un valore fisso ...
Ho il sospetto che si vuole in realtà mi di inserire una sorta di bandiera che dice msgstr "usa timezone.now
successivamente". Ma non è quello che dice il suggerimento ... quindi cos'è quella bandiera?
Quindi assegnargli un messaggio chiamabile renderà felice il validatore (cioè potrei passarlo sia "datetime.now" o "timezone.now", o qualsiasi altra cosa che sia una funzione che restituisce una data)? – Troy
Sì, qualcuno di loro dovrebbe rendere felice il validatore (e in definitiva, voi). – knbk