date_hierarchy中的Django Admin NonExistentTimeError

时间:2015-10-23 16:36:22

标签: python django django-admin django-grappelli django-timezone

我刚刚在Django Admin中出错了。这是本地复制的日志:

NonExistentTimeError at /admin/{blah}/
2015-10-18 00:00:00
Request Method: GET Request
URL:    http://127.0.0.1:8000/admin/{blah}/?q=someuser%40hotmail.com
Django Version: 1.7.10
Exception Type: NonExistentTimeError
Exception Value:     2015-10-18 00:00:00 Exception
Location:   C:\Python27\lib\site-packages\pytz\tzinfo.py in localize,
line 327 Python Executable: C:\Python27\python.exe Python
Version:    2.7.10

我发现确实2015-10-18 00:00:00在我的时区中不存在(' America / Sao_Paulo'),因为那是夏令时开始的时候。

我正在使用date_hierarchy = 'date_lastupdated',当我在管理员中搜索用户someuser@hotmail.com时,Django只返回一条记录而该用户date_lastupdated为{{1} }}

错误发生在In模板'2015-10-18 05:10:18.593336-03'第212行:

~~~~/Python27/lib/site-packages/grappelli/templates/admin/change_list.html

所以,Grappelli试图在管理员列表中只建立一次层级链接,但它没有工作

我能够在两台机器(Linux和Windows)中重现它,我升级了PYTZ。仍在2015.4和2015.6版本中发生。

这是一个已知问题吗?

1 个答案:

答案 0 :(得分:0)

我不知道你是否解决了这个问题。希望你做到了。 我有点绝望,并找到了这个解决方案:

http://www.ilian.io/django-pytz-nonexistenttimeerror-and-ambiguoustimeerror/

我在env中编辑了文件:

/myenv/lib/python2.7/site-packages/django/db/models/sql/compiler.py

并更改了第1145行(错误开始的行)的代码。

对我来说,第二种解决方案效果最好。

我知道这不是最好的选择,但这只是为了让系统保持一段时间的快速修复。