这个问题随机开始出现在我面前。我知道Django会生成自己的ID,但我的代码很多都使用了自定义的AutoFields。我今天添加了一个新类,并试图制作数字,但这个错误不断出现。
我删除所有AutoFields实例并重新尝试迁移,但问题仍然存在,这让我相信它的其他内容......我不相信我的Django版本已经发生了变化......
错误:
assetid = models.AutoField(primary_key=True)
以下是我的某个领域的示例:
Random.stub :rand, 1 do ... end
我的很多代码已经取决于名称本身,因此更改它将成为一个大问题。此外,这在以前工作得很好!我现在似乎无法迁移它。我应该提到我使用sqlite3 db。
答案 0 :(得分:1)
删除了迁移文件和最近的历史记录并修复了它。
答案 1 :(得分:0)
这是因为Django默认情况下使用id的AutoField。因此,如果要将其他字段设置为AutoField,请确保确认 primary_key = True 。 这样做将从数据库中删除id字段。
我已将Mysql用作数据库。确保此问题可能无法在其他数据库中解决。
答案 2 :(得分:0)
我遇到了同样的问题,
我在所有应用程序文件中注释掉了对该模型的所有引用,然后运行makemigrations并进行迁移,但是它一直在告诉“一个模型不能有多个AutoField。”即使我试图删除该文件。
我必须重置数据库。