【问题标题】:Django Admin NonExistentTimeError in date_hierarchydate_hierarchy 中的 Django Admin NonExistentTimeError
【发布时间】:2016-01-23 06:53:51
【问题描述】:

我刚刚在 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'2015-10-18 05:10:18.593336-03'

错误发生在模板~~~~/Python27/lib/site-packages/grappelli/templates/admin/change_list.html第212行:

<!-- DATE HIERARCHY -->
    {% block date_hierarchy %}
        {% if cl.date_hierarchy %}{% date_hierarchy cl %}{% endif %}
    {% endblock %}

所以,Grappelli 正试图在管理列表中只建立一次层次结构分数链接,但它不起作用

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

这是一个已知问题吗?

【问题讨论】:

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


    【解决方案1】:

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

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

    我在我的环境中编辑了文件:

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

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

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

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

    【讨论】:

    • 我没有。实际上我放弃了,因为一位客户曾经遇到过这个问题。我将升级 Gappelli 以查看他们是否修复了它(我的问题仅在管理员本身)并尝试自己修补它并提出一些拉取请求。感谢您的信息
    • 作为上述文章的作者,我觉得有必要加我的两分钱。此错误表明数据库中的数据存在问题,因此破解 Django 核心本身更像是一个丑陋的补丁,有一天可能会变得非常丑陋。由于没有关于异常(stracktrace/等)的详细信息,很难说,但修复的更好位置可能是葡萄本身。实际上我错过了为什么make_aware被调用的部分?
    猜你喜欢
    • 1970-01-01
    • 2018-03-10
    • 1970-01-01
    • 1970-01-01
    • 2013-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-23
    相关资源
    最近更新 更多