Django South错误恢复:无此类索引
错误消息粘贴在下面。我有3个问题:Django South错误恢复:无此类索引,django,Django,错误消息粘贴在下面。我有3个问题: []是什么意思?它在南方是SQL命令的特殊分隔符吗 我应该按照南方的指示恢复吗?我这样问是因为我在其他一些情况下确实遵循了南方恢复指示,把事情搞砸了好几次 帮助我理解错误发生的原因。我在这次迁移中所做的只是将一对一字段更改为普通字段 错误: comp\u app:0039\u auto\u chg\u field\u competition\u banner\u img\u del\u unique\u competition\u banner_ 致命错误-以
[]
是什么意思?它在南方是SQL命令的特殊分隔符吗comp\u app:0039\u auto\u chg\u field\u competition\u banner\u img\u del\u unique\u competition\u banner_
致命错误-以下SQL查询失败:删除索引“comp_app_competition_d79c66e3”
错误是:没有这样的索引:comp_app_competition_d79c66e3
! 在迁移的实际运行期间发现错误!流产。
! 因为您的数据库不支持运行
! 在事务中改变模式的语句,我们有
! 使其在迁移之间处于过渡状态。
! 您*可能*能够通过以下方式恢复:=在“comp_app_competition”(“banner_img_id”)上创建索引“comp_app_competition_d79c66e3”;[]
=在“comp_app_competition”(“banner_img_id”)上创建唯一索引“comp_app_competition_banner_img_id”);[]
! 南方开发商对此感到遗憾,并将
! 喜欢温柔地劝你稍微考虑一下。
! 易于处理的DBMS(支持DDL事务的DBMS)
! 注意:导致迁移失败的错误还在后面。
迁移错误:comp_app:0039_auto_chg_field_competition_banner_img_del_unique_competition_banner_
数据库错误:没有这样的索引:comp_app_competition_d79c66e3
事实证明,SQLite一开始并没有为一对一字段创建索引,但South认为它会创建索引。我怀疑数据库类型是我在使用South时遇到的许多其他错误的罪魁祸首
但解决办法很简单。我进入迁移文件并删除前进和后退函数中的索引部分。就是这样。您正在运行什么数据库?简单的方法是从SQLite切换到PostgreSQL。Sqlite不支持您正在尝试执行的模式更改语句,您将无法正确修复它。@limelights,感谢您为我指明了正确的方向。请查看我的答案并自由编辑或评论。