在我的每个模型上,我都喜欢跟踪创建和修改的时间。我总是将它添加到我的模型类中:
class SomeModel(models.Model):
...
creation_date = models.DateTimeField(auto_now_add=True)
modified_date = models.DateTimeField(auto_now=True)
冷却。简单吧?对。或者你可以随时这样做:
from django_extensions.db.models import TimeStampedModel
class SomeModel(TimeStampedModel):
...
今天,有史以来第一次,当我在开发服务器上运行项目而不是我的实时服务器时,我看到了奇怪的行为。
注意:值得注意的是,我的手动模型creation_date / modified_date设置以及django_extensions使用TimeStampedModel时会出现以下行为。
在我的开发服务器上,它按预期工作:
添加新模型实例
更新模型实例
但是,一旦被拉到我的实时服务器,我们就会出现这种情况:
添加新模型实例
更新模型实例
开发服务器:
直播服务器:
正如您所看到的,它们之间的唯一区别是对MySQL的轻微修订。那不应该是一个问题,但是,我在这里......得到这种奇怪的行为。有什么想法吗?
答案 0 :(得分:0)
在5.6.25中修复了一个日期时间错误(请参阅http://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-25.html#mysqld-5-6-25-bug) - 尝试更新您的实时系统。