迁移后强制删除django应用程序上的行

迁移后强制删除django应用程序上的行,django,django-south,Django,Django South,使用south进行迁移后,我最终删除了一列。现在,我的一个表中的当前数据出错,我想删除它,但尝试删除只会导致错误: >>> d = Degree.objects.all() >>> d.delete() Traceback (most recent call last): File "<console>", line 1, in <module> File "C:\Python26\lib\site-packages\djang

使用south进行迁移后,我最终删除了一列。现在,我的一个表中的当前数据出错,我想删除它,但尝试删除只会导致错误:

>>> d = Degree.objects.all()
>>> d.delete()
Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "C:\Python26\lib\site-packages\django\db\models\query.py", line 440, in d
elete
    for i, obj in izip(xrange(CHUNK_SIZE), del_itr):
  File "C:\Python26\lib\site-packages\django\db\models\query.py", line 106, in _
result_iter
    self._fill_cache()
  File "C:\Python26\lib\site-packages\django\db\models\query.py", line 760, in _
fill_cache
    self._result_cache.append(self._iter.next())
  File "C:\Python26\lib\site-packages\django\db\models\query.py", line 269, in i
terator
    for row in compiler.results_iter():
  File "C:\Python26\lib\site-packages\django\db\models\sql\compiler.py", line 67
2, in results_iter
    for rows in self.execute_sql(MULTI):
  File "C:\Python26\lib\site-packages\django\db\models\sql\compiler.py", line 72
7, in execute_sql
    cursor.execute(sql, params)
  File "C:\Python26\lib\site-packages\django\db\backends\util.py", line 15, in e
xecute
    return self.cursor.execute(sql, params)
  File "C:\Python26\lib\site-packages\django\db\backends\sqlite3\base.py", line
200, in execute
    return Database.Cursor.execute(self, query, params)
DatabaseError: no such column: students_degree.abbrev
>>>
>d=Degree.objects.all()
>>>d.删除()
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“C:\Python26\lib\site packages\django\db\models\query.py”,第440行,d
埃莱特
对于i,izip中的obj(xrange(块大小),del_itr):
文件“C:\Python26\lib\site packages\django\db\models\query.py”,第106行,在_
试验结果
self._fill_cache()
文件“C:\Python26\lib\site packages\django\db\models\query.py”,第760行,在_
填充缓存
self.\u result\u cache.append(self.\u iter.next())
文件“C:\Python26\lib\site packages\django\db\models\query.py”,第269行,在i
畸形儿
对于编译器.results\u iter()中的行:
文件“C:\Python26\lib\site packages\django\db\models\sql\compiler.py”,第67行
2、国际热核聚变实验堆试验结果
对于self.execute_sql(多)中的行:
文件“C:\Python26\lib\site packages\django\db\models\sql\compiler.py”,第72行
7,在execute_sql中
cursor.execute(sql,params)
文件“C:\Python26\lib\site packages\django\db\backends\util.py”,第15行,在e中
至尊
返回self.cursor.execute(sql,params)
文件“C:\Python26\lib\site packages\django\db\backends\sqlite3\base.py”,第行
200,执行中
返回Database.Cursor.execute(self、query、params)
DatabaseError:没有此类列:students_degree.abbrev
>>>
有没有一种简单的方法可以强制删除?是否要删除该表,然后重新运行manage.py schemamigration以在south中重新创建该表?

您可以使用

python manage.py reset [YOUR APP NAME]
但它将删除该应用程序所有表中的所有数据

或者您可以运行普通的旧sql,删除该表并重新运行迁移

> mysql -p -h HOST -u USER DATABASE_NAME
>> DROP TABLE APPNAME_degree;
>> exit;
> python manage.py migrate