MySQL将时区原始日期替换为aware。[Python Django模型]

MySQL将时区原始日期替换为aware。[Python Django模型],python,mysql,django,datetime,timezone,Python,Mysql,Django,Datetime,Timezone,我有一个MySQL数据库,有数百万行数据。我还有一个应用程序负责将数据持久化到数据库中 在我的应用程序设置中,我使用的是特定时区: 例如:时区='美国/蒙特利尔' 我没有使用USE_TZ=True参数(这就是为什么我说我的数据库中有不知道时区的日期时间) 问题是,我的服务器在蒙特利尔,但访问它的人分布在世界各地,从逻辑上讲,他们看到的日期受到不好的解释 因此,我读了一些关于使用pytz和django.utils.timezone的内容,但首先,我认为我应该刷新数据库数据条目,添加时区“粒子”,这

我有一个MySQL数据库,有数百万行数据。我还有一个应用程序负责将数据持久化到数据库中

在我的应用程序设置中,我使用的是特定时区: 例如:时区='美国/蒙特利尔'

我没有使用USE_TZ=True参数(这就是为什么我说我的数据库中有不知道时区的日期时间)

问题是,我的服务器在蒙特利尔,但访问它的人分布在世界各地,从逻辑上讲,他们看到的日期受到不好的解释

因此,我读了一些关于使用pytz和django.utils.timezone的内容,但首先,我认为我应该刷新数据库数据条目,添加时区“粒子”,这样我就可以将日期时间“强制”到每个用户的时区(在演示模式下)

这是我的方法,因为从DB的创建到现在,服务器总是在Montreal,日期时间肯定是从那个时区开始的。 但是有一天,我可能想改变服务器的位置,从而改变我的时区设置,我希望能够“从”创建datetime的真实时区显示古代datetimes

我的python对象属性之一是DateTime的示例:
end=models.DateTimeField(null=True,blank=True)

简单修复:将所有日期存储为UTC,然后根据用户自己的时间进行转换。这将比在同一个字段中使用sun中的每一个tz高效得多。是的,我知道,但是如何刷新(更新)DB条目(现有行…)中的现有日期时间。。数据库脚本?它应该包括什么?我不介意一个表一个表地手动执行此操作……大概您会将tz存储在某个位置,因此
更新您的表集timefield=convert\u tz(timefield,field,其中包含时区,'UTC')
这类操作可以执行。看起来不错,我会试试的!谢谢你们两位。实施和工作都很有魅力!现在我有了一个启用时区的站点:)