从django 1.8转换到1.6.5

时间:2015-06-04 12:11:13

标签: django

我的应用程序的{p> localhost/admin已停止工作,因为我从django 1.8版降级到版本1.6.5。我该怎么做才能解决这个问题。

以下是错误说明的内容:

OperationalError at /admin/

no such column: django_content_type.name

Request Method:     GET
Request URL:    http://192.168.1.12/admin/
Django Version:     1.6.5
Exception Type:     OperationalError
Exception Value:    

no such column: django_content_type.name

Exception Location:     /usr/local/lib/python2.7/dist-packages/django/db/backends/sqlite3/base.py in execute, line 451
Python Executable:  /usr/bin/python
Python Version:     2.7.6
Python Path:    

['/home/ankit/www/library_site/public_html',
 '/usr/lib/python2.7',
 '/usr/lib/python2.7/plat-x86_64-linux-gnu',
 '/usr/lib/python2.7/lib-tk',
 '/usr/lib/python2.7/lib-old',
 '/usr/lib/python2.7/lib-dynload',
 '/usr/local/lib/python2.7/dist-packages',
 '/usr/lib/python2.7/dist-packages',
 '/usr/lib/python2.7/dist-packages/PILcompat',
 '/usr/lib/python2.7/dist-packages/gst-0.10',
 '/usr/lib/python2.7/dist-packages/gtk-2.0',
 '/usr/lib/python2.7/dist-packages/ubuntu-sso-client']

Server time:    Thu, 4 Jun 2015 12:01:52 +0000

请建议我一个解决方案,因为我不想再从头开始创建我的整个应用程序。

2 个答案:

答案 0 :(得分:0)

降级的正确方法是取消应用除所有内置应用的第一个(manage.py migrate <app_label> 0001)之外的所有迁移。这将使模型表恢复到1.7之前的状态,以便它们与1.6中的模型代码匹配。

您可以升级,按照这些步骤重新降级,也可以手动将name列添加回django_content_type表。但是,我怀疑在最后一种情况下还有很多其他需要手动操作的更改。

答案 1 :(得分:0)

Django将migrations与版本1.7集成在一起。因此,您尝试从Django-Migrated版本切换回South-Migrated(如果使用south)或unmigrated版本。

更好1.7 1.8manage.py syncdb,然后尝试找出自己的方法。否则,您可能需要备份数据,删除所有表并运行syncdb(因为manage.py makemigrations|migrate是1.7之前的模型数据库集成商,而不是for(i=0;i<div_navi.childNodes.length;i++){ if(div_navi.childNodes[i].nodeName =="SPAN"){ div_navi.childNodes[i].setAttribute("onclick","getContent(div_navi.childNodes[i].textContent); div_navi.childNodes[i].style.cursor ="pointer"; } if(div_navi.childNodes[i].nodeName =="A") div_navi.childNodes[i].setAttribute("href",div_navi.childNodes[i].textContent); } } )然后重新推送数据回到你的桌子。