Django的怪异行为时区。现在()

2024-10-03 19:24:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在保存上次访问页面的时间,自从我升级到django1.8后,我所有的日期都变得不稳定了。。。我真的,真的不明白。你知道吗

我基本上有一个API,它被设置在美国各地的信息亭计算机戳到了,但我想知道在某个时间点,信息亭是否在过去3分钟内签入。我不管在哪个时区。你知道吗

我有一个简单的datetimefield:

lastcheckintime = models.DateTimeField(blank=True, null=True, auto_now=False)

调用API时,我只保存以下内容:

monitor.lastcheckintime = timezone.now()

使用调试日志,看起来它在数据库中保存了正确的UTC时间。我正在检查监视器是否联机:

@property
def is_online(self):
    if self.lastcheckintime is None:
        return False

    time_threshold = timezone.now() - timedelta(minutes=3)
    return self.lastcheckintime > time_threshold

在我升级之前它是完美的。我不知道是Django升级到1.8还是pytz本身,但现在看起来是这样的:

Last 3 lines are wonky

(在我的时区是晚上10:29)

奇怪的是这些线条变了!不一定是同一台显示器的时间不对。另外,整个过程在7小时前结束(我是GMT-7)。任何其他的模型看起来都是正确的,我完全不明白为什么这个模型表现得不稳定。你知道吗

你知道我错过了什么吗?你知道吗

谢谢!你知道吗


Tags: 模型selfapi信息falsetruethresholdreturn
1条回答
网友
1楼 · 发布于 2024-10-03 19:24:27

仍然无法理解发生了什么,但我最终创建了另一个具有确切属性的datetimefield,并使用此字段,删除旧的lastcheckintime,一切正常。你知道吗

但这仍然是个谜。。。 谢谢!你知道吗

相关问题 更多 >