auto_add =使用DateTimeField模型字段进行True更新,但不更新DateField

时间:2014-10-14 16:58:33

标签: django datetime django-models

我正在使用formset来更新一大组模型实例的单个字段。我想显示一个时间戳,显示自该实例的字段上次更新以来的时间。由于此字段通常每周更新一次,因此我宁愿使用DateField而不是DateTimeField作为时间戳。尽管如此,DateField似乎没有更新。但是,当我将模型字段更改为DateTimeField时,它按预期工作。这是我的代码。

#Template
<div class = 'last-updated'> {{ form.instance.last_updated|timesince }} </div>

# Models.py
last_updated = models.DateField(auto_now=True)

# Models.py - This version works
    last_updated = models.DateTimeField(auto_now=True)

我发现帖子说要覆盖模型的save()方法,但这似乎是最后的手段,我发现这些帖子的日期是2011年及更早,所以可能已过时了。

由于文档将DateField和DateTimeField列为或多或少相同,使用相同的可选参数,我想知道为什么它们似乎不会以相同的方式更新auto_now。

修改

当我将字段类型更改为DateField时,显示的值显示为自创建以来的时间,而不是自更新以来的时间,并且它更新了formset中每个项目的值。为了澄清,此模型没有自定义保存方法。

0 个答案:

没有答案