在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我是一个简单的粉丝。 –