AFAIK django在数据库中为您创建索引(我使用MySQL)。 由于这些索引阻止我改变列名称作为我正在执行的南迁移的一部分,我想删除这些索引。
手动删除django索引是否合法? django会重新创造它们吗?
答案 0 :(得分:1)
我猜你正在改变在mysql中存储为索引的unique_together
约束。
而且,如果你动态删除它,django就不会创建它。
如果您手动删除它,您还需要手动创建相关的。
您可以通过./manage.py sqlall appname
Jonathan,你说你 试图迁移。
所以,我猜你已经改变了模型,并且db中存在的索引是在早期模型状态下生成的索引,在该状态下执行syncdb;
另请注意,mysql将unique_together约束存储为索引,因此即使没有您(或者在这种情况下为django)必须明确要求它,它也会添加相关索引。