NoReverseMatch:带有参数'(u'',)'和关键字参数'{}'未找到。在Django Admin中

时间:2013-10-04 06:21:52

标签: django exception django-admin

我发现了一条更好的错误消息(见下文)。

我在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

3 个答案:

答案 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)

当我逐步完成代码并注意到我传递的父方法看起来不正确时,我发现了这一点。它让我迷惑为什么它有时会起作用。这个不正确的调用是从其他一些代码中复制和粘贴的,这些代码也在本地失败但在现场失败。

无论如何,如果对其他人有用的话。