2012-06-11 23 views
5

過去曾經使用過cakephp,有一件事(也許是唯一的事情)?我喜歡它是因爲它有一個可愛的「創建」和「更新」時間戳功能 - 簡單地說,當你第一次添加一個項目時, 「創建」日期已設置(假設您命名爲正確 - create_date,我認爲)django做django有一個像cakephp自動時間戳創建/更新字段?

此後的任何時間,如果執行更新,「更新」字段被設置爲當前時間。

django也有這個嗎?如果是這樣的話,我該怎樣命名這些字段來讓它接受它們?

+1

可能重複[在django模型有默認時間戳字段?](http://stackoverflow.com/questions/8016412/in-django-do-models-have-a-default-timestamp-field) –

回答

14

當然有!

檢查auto_nowauto_now_addthe doc

+1

從[源](https://docs.djangoproject.com/en/dev/_modules/django/db/models/fields/#DateTimeField),它看起來像是互斥的。但你能幫忙解釋一下這個區別嗎? auto_now'和'auto_now_add'之間的區別不是很清楚。 – alvas

+0

也許[this](https://docs.djangoproject.com/en/dev/ref/models/fields/#django.db.models.DateField.auto_now)清除更多。每次編輯都會生成'auto_now',只有在創建時生成'auto_now_add'。 – bizi

8

它不添加到您的機型內置在每個表。您必須將其作爲字段添加到模型中。

class Message(models.Model): 

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

消息在這種情況下,你的表名。