Django DateTimeField 说 'You are 5.5 hours ahead of server time.'

Django DateTimeField says 'You are 5.5 hours ahead of server time.'

在我的一个模型中,我正在存储 time_stamp = models.DateTimeField(default=timezone.now)

但是当我保存模型时它说 You are 5.5 hours ahead of server time. 例如本地时间在我的机器上是 13:02 但在保存后存储在数据库中的是 7:16

我得到了一个相关的 here 但没有令人满意的答案...

models.py

class Comment(models.Model):
    time_stamp = models.DateTimeField(default=timezone.now)

    def save(self, *args, **kwargs):
        ''' On save, update timestamps '''
        if not self.id:
            self.time_stamp = timezone.now()
        return super(Comment, self).save(*args, **kwargs)

因为你比服务器时间早 5.5 小时,我假设你在印度。
所以把适当的时区放在 settings.py

TIME_ZONE = 'Asia/Kolkata'

如果在其他地方,相应地设置

您需要更改电脑上的时区设置并刷新。这是唯一的出路。我只是通过那个修复了我自己的。

如果说你比服务器时间早5.5小时。这意味着你在印度然后设置

TIME_ZONE = 'Asia/Kolkata' 

在您的 setting.py 文件中。

或检查您所在的时区 https://en.wikipedia.org/wiki/List_of_tz_database_time_zones

确保在 Django 项目的 settings.py 文件中进行以下更改。