可以在模型字段中调用,而不是通过Django admin添加新对象

时间:2015-06-22 14:12:33

标签: django django-models django-admin

https://docs.djangoproject.com/en/1.8/ref/models/fields/#django.db.models.Field.default

我们读到每次创建新对象时都会调用默认字段值的可调用值。

在我的模特中,我有:

when_first_upload = models.DateTimeField(default=datetime.datetime.now())

在管理页面中,我创建一个新对象,我总是得到相同的 datetime,就好像没有调用callable一样。有什么想法吗?

就好像在某处缓存某些内容并保持对callable的最后一次调用。

当我进行迁移时,它会重置,但在添加新对象时保持不变 直到下一次迁移。

1 个答案:

答案 0 :(得分:0)

尝试:

when_first_upload = models.DateTimeField(default=datetime.datetime.now)

你需要自己调用它,而不是它返回的结果。