2014-10-19 74 views
0

在升级到django 1.7后,我在管理页面中编辑模型时(IE点击单个模型的条目以访问其详细信息)在升级到django后访问admin中的模型细节时出错1.7

应用程序和管理员似乎正在迁移后工作,直到我去做这件事。显然(?)我没有测试管理方面的事情,所以我只在我尝试时发现了这一点。

任何想法需要做什么来纠正它?我是否有1.6版本的剩余旧版模板不支持,或者我未能更新某些内容以适合新版本?

Exception Type: AttributeError at /admin/cmh_server/module/7/ 
In template /Users/mgregory/Documents/virtualenvs/cm_central/lib/python2.7/site-packages/django/contrib/admin/templates/admin/change_form.html, 
error at line 45 
'AdminErrorList' object has no attribute 'data' 
35  {% if has_absolute_url %}<li><a href="{{ absolute_url }}" class="viewsitelink">{% trans "View on site" %}</a></li>{% endif%} 
36  {% endblock %} 
37 </ul> 
38 {% endif %}{% endif %} 
39 {% endblock %} 
40 <form {% if has_file_field %}enctype="multipart/form-data" {% endif %}action="{{ form_url }}" method="post" id="{{ opts.model_name }}_form" novalidate>{% csrf_token %}{% block form_top %}{% endblock %} 
41 <div> 
42 {% if is_popup %}<input type="hidden" name="{{ is_popup_var }}" value="1" />{% endif %} 
43 {% if to_field %}<input type="hidden" name="{{ to_field_var }}" value="{{ to_field }}" />{% endif %} 
44 {% if save_on_top %}{% block submit_buttons_top %}{% submit_row %}{% endblock %}{% endif %} 
45 {% if errors %} 
46  <p class="errornote"> 
47  {% if errors|length == 1 %}{% trans "Please correct the error below." %}{% else %}{% trans "Please correct the errors below." %}{% endif %} 
48  </p> 
49  {{ adminform.form.non_field_errors }} 
50 {% endif %} 
51 

完全回溯(希望我能张贴此 “崩溃”!)

File "/Users/mgregory/Documents/virtualenvs/cm_central/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response 
    137.     response = response.render() 
File "/Users/mgregory/Documents/virtualenvs/cm_central/lib/python2.7/site-packages/django/template/response.py" in render 
    103.    self.content = self.rendered_content 
File "/Users/mgregory/Documents/virtualenvs/cm_central/lib/python2.7/site-packages/django/template/response.py" in rendered_content 
    80.   content = template.render(context) 
File "/Users/mgregory/Documents/virtualenvs/cm_central/lib/python2.7/site-packages/django/template/base.py" in render 
    148.    return self._render(context) 
File "/Users/mgregory/Documents/virtualenvs/cm_central/lib/python2.7/site-packages/django/template/base.py" in _render 
    142.   return self.nodelist.render(context) 
File "/Users/mgregory/Documents/virtualenvs/cm_central/lib/python2.7/site-packages/django/template/base.py" in render 
    844.     bit = self.render_node(node, context) 
File "/Users/mgregory/Documents/virtualenvs/cm_central/lib/python2.7/site-packages/django/template/debug.py" in render_node 
    80.    return node.render(context) 
File "/Users/mgregory/Documents/virtualenvs/cm_central/lib/python2.7/site-packages/django/template/loader_tags.py" in render 
    126.   return compiled_parent._render(context) 
File "/Users/mgregory/Documents/virtualenvs/cm_central/lib/python2.7/site-packages/django/template/base.py" in _render 
    142.   return self.nodelist.render(context) 
File "/Users/mgregory/Documents/virtualenvs/cm_central/lib/python2.7/site-packages/django/template/base.py" in render 
    844.     bit = self.render_node(node, context) 
File "/Users/mgregory/Documents/virtualenvs/cm_central/lib/python2.7/site-packages/django/template/debug.py" in render_node 
    80.    return node.render(context) 
File "/Users/mgregory/Documents/virtualenvs/cm_central/lib/python2.7/site-packages/django/template/loader_tags.py" in render 
    126.   return compiled_parent._render(context) 
File "/Users/mgregory/Documents/virtualenvs/cm_central/lib/python2.7/site-packages/django/template/base.py" in _render 
    142.   return self.nodelist.render(context) 
File "/Users/mgregory/Documents/virtualenvs/cm_central/lib/python2.7/site-packages/django/template/base.py" in render 
    844.     bit = self.render_node(node, context) 
File "/Users/mgregory/Documents/virtualenvs/cm_central/lib/python2.7/site-packages/django/template/debug.py" in render_node 
    80.    return node.render(context) 
File "/Users/mgregory/Documents/virtualenvs/cm_central/lib/python2.7/site-packages/django/template/loader_tags.py" in render 
    65.     result = block.nodelist.render(context) 
File "/Users/mgregory/Documents/virtualenvs/cm_central/lib/python2.7/site-packages/django/template/base.py" in render 
    844.     bit = self.render_node(node, context) 
File "/Users/mgregory/Documents/virtualenvs/cm_central/lib/python2.7/site-packages/django/template/debug.py" in render_node 
    80.    return node.render(context) 
File "/Users/mgregory/Documents/virtualenvs/cm_central/lib/python2.7/site-packages/django/template/defaulttags.py" in render 
    311.    if match: 
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/UserList.py" in __len__ 
    30.  def __len__(self): return len(self.data) 
Exception Type: AttributeError at /admin/cmh_server/module/7/ 
Exception Value: 'AdminErrorList' object has no attribute 'data' 
+0

你有没有做过:'python manage.py makemigrations yourappname'和'python manage.py migrate'?您必须在从1.6升级到1.7之后执行此操作,而不使用appname的迁移不会修复它。 – 2014-10-19 22:31:12

+0

@CherifKAOUA是的 - 我已经完成了这些。我刚才检查了一遍,再次运行它,并让迁移说“没有检测到变化”。上次它“做了些什么”:)我编辑了我的问题,以便在错误发生时更清晰。 – GreenAsJade 2014-10-19 22:44:19

回答

1

事实证明,这是由于django-nested-inlines的过时版本。

调试的线索来自询问“这是什么AdminErrorList?”,这导致“什么是admin.py?”,这导致“哇,这是什么嵌套线条的东西,它是否符合1.7 ”。

最近有一个关于django-nested-inlines的提交,涉及到与AdminErrorList有关的更新,而这个更改解决了我的问题。

+0

感谢有帮助的问题,导致我能够进行调试! – GreenAsJade 2014-10-20 04:24:19

+0

您可以指向修复此错误的提交吗?我也有一个最新的django-nested-inlines安装同样奇怪的错误。 – glic3rinu 2014-10-21 17:16:32

+1

我没有一分为二来证明它,但我认为它是这样的:https://github.com/silverfix/django-nested-inlines/commit/aeb7a1f84cd41acb8efa66483908f79a2fcd511a。但是,我只是从回购中抓住了头,而且为我工作。仅供参考我做了一个分支来摆脱弃用警告:https://github.com/GreenAsJade/django-nested-inlines – GreenAsJade 2014-10-21 21:06:40

1

你可能有一个二次回溯。尝试直接在命令行上获取主要的一个,而不是在Web浏览器中。尝试重现该错误:

python manage.py runserver --traceback --nothreading --noreload 

只有第一个选项非常重要。其他选项仅简化调试。

您的错误在课堂ErrorList。 UserList类仅用于Django 1.7,不适用于任何旧的Django,因为它在任何以前的Django中都不存在。

+0

哈!你给了我一个很好而明显的提示:)事实上,我显示的追踪是在控制台/日志中,错误是指向的。但是我没有DEBUG = True(doh!)。我将在问题中添加DEBUG = True的网页中的“主要”消息。 – GreenAsJade 2014-10-20 01:55:57

+0

通过“次回溯”我的意思是任何问题也在异常处理,报告等通常都需要修复。也许第一个问题只是表单中所需值的缺少用户输入。整个回溯仅由嵌套的模板标记呈现组成。它不像其他信息的知识,比如请求URL,get/put,预期的模板,以及traceback每个级别的自我对象名称的类型。 – hynekcer 2014-10-20 06:58:08