2012-06-11 12 views
5

avendo usato cakephp in passato, una cosa (forse l'unica cosa?) Mi è piaciuto che fosse una funzione di "creazione" e "aggiornamento" di timestamp che era adorabile - semplicemente messo, quando hai aggiunto un oggetto per la prima volta è stata impostata la data di "creazione" (presupponendo che l'abbia denominata a destra - create_date, penso)django does django ha un timestamp automatico per creare/aggiornare campi come cakephp?

In qualsiasi momento successivo, se è stato eseguito un aggiornamento, il campo "aggiornamento" è stato impostato sull'ora corrente.

Il django ha anche questo? In caso affermativo, come/come faccio a denominare i campi per farlo prelevare?

+1

Possibile duplicato di [Nei modelli django do ha un campo timestamp predefinito?] (Http://stackoverflow.com/questions/8016412/in-django-do-models-have-a-default-timestamp-field) –

risposta

14

Sicuro che ha!

Controllare auto_now e auto_now_add in the doc

+1

Dalla [fonte] (https://docs.djangoproject.com/en/dev/_modules/django/db/models/fields/#DateTimeField), sembra che si escludano a vicenda. Ma potresti aiutare a spiegare la differenza? Non è molto chiaro qual è la differenza tra "auto_ora" e "auto_ora_add". – alvas

+0

Forse [questo] (https://docs.djangoproject.com/en/dev/ref/models/fields/#django.db.models.DateField.auto_now) chiarisce di più. 'auto_now' viene generato in ogni modifica, 'auto_now_add' solo generato alla creazione. – bizi

8

Non viene aggiunto al modello integrato in ogni tavolo. È necessario aggiungerlo come campo al modello.

class Message(models.Model): 

    created_at = models.DateTimeField(auto_now_add=True) 
    updated_at = models.DateTimeField(auto_now=True) 

Messaggio in questo caso il nome del tuo tavolo.

Problemi correlati