Python Django:如何检索时区感知的datetime

Python Django:如何检索时区感知的datetime,python,django,datetime,timezone,Python,Django,Datetime,Timezone,在我的程序中的某一点上,我保存了一个时区感知(ISO8601和Z)日期时间: param.updated=iso8601.parse_date(updated) param.save 稍后,我检索它以进行比较: if (newparam.update > Parameter.objects.get(id=id).updated): .... 结果: TypeError: can't compare offset-naive and offset-aware datetimes 我做错

在我的程序中的某一点上,我保存了一个时区感知(ISO8601和Z)日期时间:

param.updated=iso8601.parse_date(updated)
param.save
稍后,我检索它以进行比较:

if (newparam.update > Parameter.objects.get(id=id).updated):
....
结果:

TypeError: can't compare offset-naive and offset-aware datetimes
我做错了什么?我是在保存时还是在检索时丢失了时区意识?我怎样才能恢复它



Python2.6.x,Django 1.3,Django 1.4支持时区,签出。

Django 1.4支持时区,签出。

。有一个偷偷摸摸的额外的“获取本地时间”转换。你在使用哪个数据库?大多数数据库将时间戳保存为一个长的(毫秒数,表示从epoch.SQLite开始的数据。你怎么知道?使用Squirrel,我看到了一个格式化的时间-你如何看到原始内容?仍在等待帮助django 1.3处理时区的解决方案…哇,我撒谎了。还有一个鬼鬼祟祟的额外“获取本地时间”转换。您使用的是哪一个数据库?大多数数据库都会将时间戳保存为长时间(表示从epoch.SQLite开始的数据的毫秒数。你怎么知道呢?使用Squirrel,我看到了一个格式化的时间-你如何看到原始内容?仍在等待帮助django 1.3处理时区的解决方案…哦,很好。很高兴知道。我可能无法立即转换项目,但仍然。而且,在发现有在上面的额外时区转换中,我后来发现时区支持有点坏了。教训:使用pytz.timezone.localize(),而不仅仅是datetime.astimezone()-1,因为将django升级到1.4对于大多数生产案例来说都是不切实际的;它需要大量的时间和资源(因此需要金钱)在开发方面,尤其是在代码库足够大的情况下;有时甚至无法完成,尤其是在您没有升级服务器的访问/权限的情况下…@Optimus untrue。我们将几个非常大的django应用程序从1.3升级到1.4,没有任何问题,也没有其他更改。事实上,我无法更新堆栈my company服务器正在运行,(它需要一个漫长而复杂的过程来说服很多人,最终他们甚至可能都不会被说服……)升级django对于只想拥有一个具有时区意识的站点来说是一件过分的事情……哦,很好。很高兴知道。我可能无法立即转换项目,但仍然如此。另外,在发现上面有额外的时区转换后,我后来发现时区支持有点崩溃。教训:使用pytz.timezone.localize(),而不仅仅是datetime.astimezone()-1,因为将django升级到1.4对于大多数生产案例来说都是不切实际的;它需要大量的时间和资源(因此需要大量的资金)在开发方面,尤其是在代码库足够大的情况下;有时甚至无法完成,尤其是在您没有升级服务器的访问/权限的情况下…@Optimus untrue。我们将几个非常大的django应用程序从1.3升级到1.4,没有任何问题,也没有其他更改。事实上,我无法更新堆栈my company服务器正在运行,(它需要一个漫长而复杂的过程来说服很多人,最终他们甚至可能不会被说服…)升级django对于只想拥有一个时区感知的站点来说是一件过分的事情。。。