在django中 - 是否有所有對象的默認時間戳字段?也就是說,我是否必須在我的模型中明確聲明'創建於'的'時間戳'字段 - 或者有辦法自動獲取它?在django模型有一個默認的時間戳字段?
57
A
回答
89
默認情況下沒有這樣的事情,但添加一個超級簡單。只需使用auto_now_add
參數在DateTimeField
類:
created = models.DateTimeField(auto_now_add=True)
您還可以使用auto_now
一個「更新」字段。檢查他們的行爲in the doc。
與這兩個領域的模型看起來就像這樣:
class MyModel(models.Model):
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
26
自動地聽起來並不喜歡的事的Django默認會做。它不會強制你需要時間戳。
我想建立一個抽象基類和繼承其所有車型,如果你不希望有關timestamp /字段名給忘了,等
class TimeStampedModel(models.Model):
created_on = models.DateTimeField(auto_now_add=True)
class Meta:
abstract = True
它似乎並不像很多進口wherever.TimeStampedModel
代替django.db.models.Model
class MyFutureModels(TimeStampedModel):
....
13
如果您正在使用django-extensions(這是將功能添加到django-admin.py命令行助手良好的應用程序)可以通過從their TimeStampedModel繼承免費獲得這些示範田Ø [R使用他們custom TimeStamp fields
3
您可以嘗試django-extensions
,如果你想使用時間戳抽象模型
from django_extensions.db.models import TimeStampedModel
class A(TimeStampedModel):
...
它具有其他抽象模型。你也可以使用它。
相關問題
- 1. Django模型字段默認爲空
- 2. django獲取默認模型字段值
- 3. Django - 從另一個模型字段獲取默認值
- 4. Django中間模型字段的m2m項目默認排序
- 5. Django模型字段默認基於在同一模型中的另一個字段
- 6. 默認字段的值保存一個Django的ModelForm在型號
- 7. 從模型方法的Django模型字段默認
- 8. CakePHP默認模型字段
- 9. 覆蓋默認字段類型在Django
- 10. Django DateTime字段生成沒有時區的時間戳字段
- 11. Doctrine2 - 類型時間戳 - 默認值
- 12. 查詢時間戳字段在Django
- 13. Django的:如何將一個字段的默認值設置爲一個字段的值在父模型
- 14. 的Django模型字段:參考自上默認的關鍵字
- 15. 設置在Django模型字段默認值更好的辦法
- 16. Mysql時間戳默認值
- 17. 時間戳字段上的默認值無效?怎麼了?
- 18. django中的時間戳字段
- 19. mysqldump的還原錯誤 - 字段類型時間戳無效的默認值
- 20. Django - 默認的Django User模型是否有任何獨特的字段?
- 21. Django的DateTimeField字段默認
- 22. 從另一個模型默認值的Django模型場
- 23. Django模型日期時間字段
- 24. 爲什麼rails會默認爲模型生成時間戳?
- 25. Django模型:設置相對於另一個字段的默認值
- 26. MVC/EF DB First和SQL約束默認時間戳字段
- 27. django做django有一個像cakephp自動時間戳創建/更新字段?
- 28. 默認字段值等於一個字段從另一個模型
- 29. 如何獲取Django模型中字段的默認值?
- 30. 如何重寫Django中的默認用戶模型字段?
Django中還有'model_utils',它已經包含'TimeStampedModel',但是如果你不需要這個包裏的其他東西,只需保持它沒有額外的重量。 – boldnik
@boldnik我是一個簡單的粉絲。 –