【问题标题】:Django model datetimefield updates but not in dbDjango 模型 datetimefield 更新但不在数据库中
【发布时间】:2023-04-01 00:19:01
【问题描述】:

我的备忘录模型中有以下内容

times_visited = models.IntegerField(default=0)
date_last_visited = models.DateTimeField(default=timezone.now())

如下调用时,只有 times_visited int 在数据库中正确更新,date_visited 与初始化期间保持相同。 打印调试显示正确的时间存储在模型中,但似乎它没有被推送到数据库。我没有覆盖保存方法。

memo.times_visited = memo.times_visited + 1
memo.last_visited = timezone.now()
memo.save()

print("Last visited: " + str(memo.last_visited))

不应该这样工作吗?

【问题讨论】:

标签: django sqlite datetime


【解决方案1】:

应该是

memo.date_last_visited = timezone.now()

不是

memo.last_visited = timezone.now()

正如 dirkgroten 所说,您正在将 last_visited 属性分配给备忘录对象

【讨论】:

  • 不,它不会抛出错误。您始终可以将任何您想要的新属性分配给 python 对象。
  • 啊,谢谢!有趣的是,在 timezone.now 之后删除 () 也解决了这个问题。
猜你喜欢
  • 2010-09-06
  • 2021-07-06
  • 1970-01-01
  • 2021-01-04
  • 2014-11-13
  • 1970-01-01
  • 2013-07-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多