Django错误地期望id列

Hud*_*den 1 python mysql django primary-key

我正在使用Django中的现有SQL数据库。出于某种原因,这些表从未被赋予主键,因此我只需要对其进行分配。在这些模型之一中,我使用来将现有的唯一索引更改为主索引primary_key = True。然后我跑了./manage.py makemigrations (app_name); ./manage.py migrate。我遇到此错误:(1091,“无法删除'id';请检查列/键是否存在”)。似乎Django认为该模型中有一个id字段,但不是因为我能够使用phpMyAdmin创建一个id字段,而当我重新运行迁移时,它成功了。虽然我能够解决我的问题,但我怀疑这是解决此问题的最佳方法。解决此问题的正确方法是什么?

nor*_*ght 6

您可以伪造一个迁移,仅包括在迁移时使用--fake选项删除“ id”字段,因此django认为它在实际上不存在时已删除了id字段。