首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >迁移后强制删除django应用程序上的行

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

Stack Overflow用户
提问于 2010-06-09 06:49:48
回答 1查看 2.1K关注 0票数 0

在迁移到south之后,我最终删除了一个列。现在,我的一个表中的当前数据被搞乱了,我想删除它,但尝试删除只会导致错误:

代码语言:javascript
复制
>>> 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
>>>

有没有一种简单的方法来强制删除?是否删除该表,然后重新运行manage.py模式迁移以在south重新创建表?

EN

回答 1

Stack Overflow用户

发布于 2010-07-03 01:06:33

你可以使用

代码语言:javascript
复制
python manage.py reset [YOUR APP NAME]

但它会从该应用程序的所有表中删除所有数据。

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

代码语言:javascript
复制
> mysql -p -h HOST -u USER DATABASE_NAME
>> DROP TABLE APPNAME_degree;
>> exit;
> python manage.py migrate
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3001908

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档