2012-06-11 12 views
5

habiendo utilizado cakephp en el pasado, una cosa (tal vez la única?) Que me gustó fue que tenía una capacidad de marca de tiempo "crear" y "actualizar" que era encantadora, simplemente, cuando agregaste un elemento por primera vez, la fecha "crear" fue establecida (suponiendo que lo haya llamado correcto - create_date, creo)django does django tiene un campo de creación/actualización automática de marcas de tiempo como cakephp?

En cualquier momento posterior, si se realizó una actualización, el campo "actualizar" se configuró en la hora actual.

¿Tiene django esto también? Si es así, ¿qué/cómo nombro los campos para que los recoja?

+1

Posible duplicado de [En django do modelos tienen un campo predeterminado de marca de tiempo?] (Http://stackoverflow.com/questions/8016412/in-django-do-models-have-a-default-timestamp-field) –

Respuesta

14

Sure it has!

Comprobar auto_now y auto_now_add en the doc

+1

Desde [source] (https://docs.djangoproject.com/en/dev/_modules/django/db/models/fields/#DateTimeField), parece que son mutuamente excluyentes. ¿Pero podrías ayudar a explicar la diferencia? No está muy claro cuál es la diferencia entre 'auto_now' y' auto_now_add'. – alvas

+0

Quizás [esto] (https://docs.djangoproject.com/en/dev/ref/models/fields/#django.db.models.DateField.auto_now) aclare más. 'auto_now' se genera en cada edición,' auto_now_add' solo se genera en la creación. – bizi

8

no se ha agregado a su modelo integrado en cada mesa. Debe agregarlo como campo a su modelo.

class Message(models.Model): 

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

Mensaje en este caso el nombre de su tabla.

Cuestiones relacionadas