我的django项目有一个工作的管理页面,但突然间我开始接收:
"Unknown column 'django_content_type.name' in 'field list'"每当我尝试访问管理页面时.我仍然可以访问管理员的某些部分,而不是主页面.
我对django和python很新,所以我不知道在哪里看.
这是完整的错误:
InternalError at /admin/
(1054, u"Unknown column 'django_content_type.name' in 'field list'")
Request Method: GET
Request URL: http://127.0.0.1:8000/admin/
Django Version: 1.7.7
Exception Type: InternalError
Exception Value:
(1054, u"Unknown column 'django_content_type.name' in 'field list'")
Exception Location: c:\Python27\lib\site-packages\pymysql\err.py in _check_mysql_exception, line 115
Python Executable: c:\Python27\python.exe
Python Version: 2.7.9
Python Path:
['c:\\users\\dhysong\\Documents\\School\\CS6310\\Project4\\CS6310',
'C:\\Windows\\system32\\python27.zip',
'c:\\Python27\\DLLs',
'c:\\Python27\\lib',
'c:\\Python27\\lib\\plat-win',
'c:\\Python27\\lib\\lib-tk',
'c:\\Python27',
'c:\\Python27\\lib\\site-packages']
Server time: Thu, 9 Apr 2015 08:17:05 -0400
Run Code Online (Sandbox Code Playgroud)
第63行发生html错误:
In template c:\Python27\lib\site-packages\django\contrib\admin\templates\admin\index.html, error at line 63
1054
53 <div id="content-related">
54 <div class="module" id="recent-actions-module">
55 <h2>{% trans 'Recent Actions' %}</h2>
56 <h3>{% trans 'My Actions' %}</h3>
57 {% load log %}
58 {% get_admin_log 10 as admin_log for_user user %}
59 {% if not admin_log %}
60 <p>{% trans 'None available' %}</p>
61 {% else %}
62 <ul class="actionlist">
63 {% for entry in admin_log %}
64 <li class="{% if entry.is_addition %}addlink{% endif %}{% if entry.is_change %}changelink{% endif %}{% if entry.is_deletion %}deletelink{% endif %}">
65 {% if entry.is_deletion or not entry.get_admin_url %}
66 {{ entry.object_repr }}
67 {% else %}
68 <a href="{{ entry.get_admin_url }}">{{ entry.object_repr }}</a>
69 {% endif %}
70 <br/>
71 {% if entry.content_type %}
72 <span class="mini quiet">{% filter capfirst %}{% trans entry.content_type.name %}{% endfilter %}</span>
73 {% else %}
Run Code Online (Sandbox Code Playgroud)
小智 5
MySQL中的修复程序是删除表django_content_type;
来自karthikr和moonchel的笔记引领我解决问题.1054在将Django 1.8安装到一个virtualenv中以尝试它之后发生了未知的列错误,然后尝试在不同的virtualenv中使用预先存在的Django 1.6.MySQL搞砸了.
Django 1.7/1.8 syncdb修改了django_content_type表,从中删除了'name'列.
+-----------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| app_label | varchar(100) | NO | MUL | NULL | |
| model | varchar(100) | NO | | NULL | |
+-----------+--------------+------+-----+---------+----------------+
Django 1.6 syncdb creates the table with the 'name' column:
+-----------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(100) | NO | | NULL | |
| app_label | varchar(100) | NO | MUL | NULL | |
| model | varchar(100) | NO | | NULL | |
+-----------+--------------+------+-----+---------+----------------+
Run Code Online (Sandbox Code Playgroud)
因此,删除表并让syncdb根据Django版本的需要重新创建它.如果担心丢弃它,请采取转储:mysqldump -u <mysqladminname> -p <databasename> django_content_type > /tmp/django_content_type.dmp
| 归档时间: |
|
| 查看次数: |
9518 次 |
| 最近记录: |