我发现了一条更好的错误消息(见下文)。
我在core / models.py中有一个名为App的模型。尝试访问django admin中的特定应用程序对象时发生错误。即使在一个空数据库(在syncdb之后)与一个应用程序对象。
似乎core_app_history是django生成的东西。任何帮助表示赞赏。
以下是例外:
NoReverseMatch at /admin/core/app/251/
Reverse for 'core_app_history' with arguments '(u'',)' and keyword arguments '{}' not found.
Request Method: GET
Request URL: http://weblocal:8001/admin/core/app/251/
Django Version: 1.5.4
Exception Type: NoReverseMatch
Exception Value:
Reverse for 'core_app_history' with arguments '(u'',)' and keyword arguments '{}' not found.
Exception Location: /opt/virtenvs/django_slice/local/lib/python2.7/site-packages/django/template/defaulttags.py in render, line 426
Python Executable: /opt/virtenvs/django_slice/bin/python
Python Version: 2.7.3
Python Path:
['/opt/src/slicephone/cloud',
'/opt/virtenvs/django_slice/local/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg',
'/opt/virtenvs/django_slice/local/lib/python2.7/site-packages/pip-1.2.1-py2.7.egg',
'/opt/virtenvs/django_slice/local/lib/python2.7/site-packages/distribute-0.6.35-py2.7.egg',
'/opt/virtenvs/django_slice/lib/python2.7',
'/opt/virtenvs/django_slice/lib/python2.7/plat-linux2',
'/opt/virtenvs/django_slice/lib/python2.7/lib-tk',
'/opt/virtenvs/django_slice/lib/python2.7/lib-old',
'/opt/virtenvs/django_slice/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-linux2',
'/usr/lib/python2.7/lib-tk',
'/opt/virtenvs/django_slice/local/lib/python2.7/site-packages']
Server time: Fri, 11 Oct 2013 22:06:43 +0000
它出现在/django/contrib/admin/templates/admin/change_form.html
32 <li><a href="{% url opts|admin_urlname:'history' original.pk|admin_urlquote %}" class="historylink">{% trans "History" %}</a></li>
以下是(可能的)相关网址:
/admin/core/app/ HANDLER: changelist_view
/admin/core/app/add/ HANDLER: add_view
/admin/core/app/(.+)/history/ HANDLER: history_view
/admin/core/app/(.+)/delete/ HANDLER: delete_view
/admin/core/app/(.+)/ HANDLER: change_view
答案 0 :(得分:0)
我的猜测是你在urlconf中的某个地方引用了一个无法导入的视图,这会导致reverse
失败。尝试从shell中反转不同的视图。
答案 1 :(得分:0)
这可能是因为有一个空主键的条目,如果你的模型有像
这样的字段,就会发生这种情况。id = models.CharField(blank=True, primary_key=True)
答案 2 :(得分:0)
我将对此发表评论,因为我确实有同样的问题,这是我能找到的唯一一个指向正确方向的链接。实际上它没有指出我正确的方向,但至少它让我觉得不那么孤单:)
注意我的代码有时会起作用。事实上,我的错误代码仍然在生产服务器上愉快地工作。
我的问题是在管理员中我覆盖了我的render_change_form。当我调用super方法而不是
时return super(ReceiptAdmin, self).render_change_form(request, context, *args, **kwargs)
我无意中完成了
return super(ReceiptAdmin, self).render_change_form(request, context, args, kwargs)
当我逐步完成代码并注意到我传递的父方法看起来不正确时,我发现了这一点。它让我迷惑为什么它有时会起作用。这个不正确的调用是从其他一些代码中复制和粘贴的,这些代码也在本地失败但在现场失败。
无论如何,如果对其他人有用的话。