在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模型字段默認
- 7. 覆蓋默認字段類型在Django
- 8. Django DateTime字段生成沒有時區的時間戳字段
- 9. 查詢時間戳字段在Django
- 10. Django的:如何將一個字段的默認值設置爲一個字段的值在父模型
- 11. 設置在Django模型字段默認值更好的辦法
- 12. Mysql時間戳默認值
- 13. 時間戳字段上的默認值無效?怎麼了?
- 14. mysqldump的還原錯誤 - 字段類型時間戳無效的默認值
- 15. Django模型:設置相對於另一個字段的默認值
- 16. MVC/EF DB First和SQL約束默認時間戳字段
- 17. 默認字段值等於一個字段從另一個模型
- 18. 如何重寫Django中的默認用戶模型字段?
- 19. 如何獲取Django模型中字段的默認值?
- 20. 使用模型ID作爲另一個字段的默認值
- 21. django模型默認值
- 22. 在elasticsearch中啓用默認時間戳
- 23. 在PostgreSQL中創建默認時間戳
- 24. 默認在Django模型中輸入當地時間的當前日期時間
- 25. Django AdminForm字段默認值
- 26. django中的用戶模型密碼字段默認密碼字段
- 27. 默認模型字段Rails 3.1
- 28. Django - 如何將模型字段重置爲默認值?
- 29. 來自ISO8601時間戳字符串的Django模型DateTimeField
- 30. 使用默認值設置的Django模型字段不違反保存時
Django中還有'model_utils',它已經包含'TimeStampedModel',但是如果你不需要這個包裏的其他東西,只需保持它沒有額外的重量。 – boldnik
@boldnik我是一個簡單的粉絲。 –